基于Xml方式Bean的配置-初始化方法和销毁方法

SpringBean的配置详解

  • Bean的初始化和销毁方法配置
    • Bean在被实例化后,可以执行指定的初始化方法完成一些初始化的操作,Bean在销毁之前也可以执行指定的销毁方法完成一些操作,初始化方法名称和销毁方法名称通过
      •    
      • 指定的方法名于自己创建的方法名一致即可

        • package com.example.Service.Impl;
          
          import com.example.DAO.UserDAO;
          import com.example.Service.UserService;
          
          public class UserServiceImpl implements UserService {
          
              public void init() {
                  System.out.println("初始化方法");
              }
          
              public void destroy() {
                  System.out.println("销毁方法");
              }
          
              public UserServiceImpl() {
                  System.out.println("UserServiceImpl实例化");
              }
          
              private UserDAO userDAO;
          
              public void setUserDAO(UserDAO userDAO) {
              }
          }
          
      • 测试类

        • package com.example.Test;
          
          import org.springframework.context.ApplicationContext;
          import org.springframework.context.support.ClassPathXmlApplicationContext;
          
          public class TestApplicationContext {
              public static void main(String[] args) {
                  ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("application.xml");
                  Object userService1 = context.getBean("userService");
                  System.out.println(userService1);
                  context.close();
          
              }
          }
          
      • 运行结果如下

        • 基于Xml方式Bean的配置-初始化方法和销毁方法_第1张图片


拓展 

  • 我们还可以通过实现InitializingBean接口,完成bean的初始化操作
    • package com.example.Service.Impl;
      
      import com.example.DAO.UserDAO;
      import com.example.Service.UserService;
      import org.springframework.beans.factory.InitializingBean;
      
      public class UserServiceImpl implements UserService, InitializingBean {
      
          public void init() {
              System.out.println("初始化方法");
          }
      
          public void destroy() {
              System.out.println("销毁方法");
          }
      
          public UserServiceImpl() {
              System.out.println("UserServiceImpl实例化");
          }
      
          private UserDAO userDAO;
      
          public void setUserDAO(UserDAO userDAO) {
          }
      
          // todo 执行时机早于init-method方法
          @Override
          public void afterPropertiesSet() throws Exception {
              System.out.println("InitializingBean.....");
          }
      }
      
    • 测试类运行结果如下

      • 基于Xml方式Bean的配置-初始化方法和销毁方法_第2张图片

你可能感兴趣的:(Spring,5,xml,java,前端)