bean的生命周期


批注 2020-03-05 151808.png

  1. Spring对bean进行实例化;
  2. Spring捋值和bean的引用注入到bean对应的属性中;
  3. 如果bean实现了 BeanNameAware接口, Spring浮bean的传递给setbean-Name()方法;
  4. 如果bean实现了 BeanFactoryAware接口,Spring将调用setBeanFactory()方法,将BeanFactory容器实例传入
  5. 如果bean实现了 ApplicationContextAware接口,Spring将调用setApplicationContext()方法,将bean所在的应用上下文的引用传入进来;
  6. 如果bean实现了 BeanPostProcessor接口,Spring捋调用它们的postProcessBeforeInitialization()方法
  7. 如果bean实现了 InitializingBean接口,Spring将调用它们的afterPropertiesSet()方法。类似地,如果bean使用init- method声明了初始化方法,该方法也会被调用;
  8. 如果bean实现了 BeanPostProcessor接口,Spring捋调用它们的postProcessAfterInitialization()方法;
  9. 此时,bean已经准备就绪,可以被应用程序使用了,它们捋一直驻留在应用上下文中,直到该应用上下文被销毁
  10. 如果bean实现了Disposablebean接口,Spring捋调用它的 destroy()接囗方法。同样如果bean使用destroy- method声明了销毁方法,该方法也会被调用。

文章作者: bfx
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 bfx !
  目录