[J2EE]Spring中Bean的生命周期

在Spring容器初始化的时候,Spring帮我们的Bean做了很多的工作,下图看看Bean从初始化到销毁的生命周期:
Bean生命周期

具体的流程步骤说明:

  1. Spring实例化Bean
  2. 利用依赖注入来配置Bean中的所有属性值
  3. 如果Bean实现了BeanNameAware接口,则Spring调用Bean的setBeanName()方法传入当前Bean的ID值
  4. 如果Bean实现了BeanFactoryAware接口,则Spring调用setBeanFactory()方法传入当前工厂实例的引用
  5. 如果Bean实现了ApplicationContextAware接口,则Spring调用setApplicationContext()方法传入当前ApplicationContext实例的引用
  6. 如果Bean实现了BeanPostProcessor接口,则Spring会调用postProcessBeforeInitialization()方法
  7. 如果Bean实现了InitializingBean接口,则Spring会调用afterPropertiesSet()方法
  8. 如果在配置文件中用过init-method属性制定了初始化方法,则调用该初始化方法
  9. 如果Bean实现了BeanPostProcessor接口,则Spring会调用postProcessAfterInitialization()方法
  10. 到此为止,Bean就可以被使用了,他将一直存在于Spring容器中直到被销毁
  11. 如果Bean实现了DisposableBean接口,则Spring会调用destory()方法
  12. 如果在配置文件中用过destory-method属性指定了销毁Bean的方法,则调用该方法

(•̀ᴗ•́)و ̑̑

Share