Spring的生命周期
代码我就不带大家一起看了,简单做个总结。
解释Spring框架中bean的生命周期。
分为几大块:
《1》实例化bean以及填充属性
Spring容器 从XML 文件中读取bean的定义(也可以是注解,FactoryBean等方式),并实例化bean(就是调用构造函数)。
Spring根据bean的定义填充所有的属性。
《2》调用Aware接口的方法
如果Bean 实现了BeanNameAware 接口,Spring 传递bean 的ID 到 setBeanName方法。
如果Bean 实现了 BeanFactoryAware 接口, Spring传递beanfactory 给setBeanFactory 方法。
《3》BeanPostProcessors.postProcesserBeforeInitialization()方法
如果有任何与bean相关联的BeanPostProcessors,Spring会在postProcesserBeforeInitialization()方法内调用它们。
《4》初始化方法
如果bean实现IntializingBean了,调用它的afterPropertySet方法,
如果bean用init-method标签声明了初始化方法,调用此初始化方法。
《5》BeanPostProcessors.postProcessAfterInitialization()
如果有BeanPostProcessors 和bean 关联,这些bean的postProcessAfterInitialization() 方法将被调用。
《6》销毁
如果bean实现了 DisposableBean,它将调用destroy()方法。
如果bean用destroy-method标签声明了销毁方法,调用此销毁方法。