Spring IOC容器中Bean的生命周期

时间:2020-12-31 03:18:14
1.IOC容器中Bean的生命周期
  构造器函数
  设置属性
  初始化函数(在Bean配置中 init-method)
  使用Bean
  结束时关闭容器(在Bean中配置destroy-method)
2.Bean的后置处理器 实现 BeanPostProcess 接口(后置处理器会逐条扫描全部Bean,所以要在方法中要对Bean进行过滤)
  2.1.实现接口中的方法
    Object postProcessBeforeInitialization(Object bean, String beanName) 在init-method之前被调用
    Object postProcessAfterInitialization(Object bean, String beanName) 在init-method之后被调用
    参数:
      bean:bean的实例本身
      beanName:IOC容器配置的Bean的名字
      方法返回值:是实际上返回给用户的那个Bean,可以在以上两个方法中修改返回的Bean,甚至可以返回一个新的Bean
    Spring IOC容器中Bean的生命周期
  2.2.在Bean中配置后置处理器,不需要配置id,IOC容器自动识别是BeanPostProcess
  Spring IOC容器中Bean的生命周期
3.增加后置处理器后的生命周期
  构造器函数
  后置处理器的before方法
  设置属性
  后置处理器的after方法
  初始化函数(在Bean配置中 init-method)
  使用Bean
  结束时关闭容器销毁Bean(在Bean中配置destroy-method)