-
实例化
BeanFactoryPostProcessor
实现类,执行BeanFactoryPostProcessor.postProcessBeanFactory()
作用是:在bean的定义已经加载完成后,在bean实例创建前,可以获取定义bean的元数据,从而覆盖或者添加bean的属性
-
在bean对象的构造函数调用前调用
InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation()
-
调用Bean的构造函数
-
构造完成后调用
InstantiationAwareBeanPostProcessor.postProcessAfterInstantiation()
-
进行属性依赖注入
-
如果bean实现了某个Aware接口,则执行接口方法
-
如果有和加载这个Bean的Spring容器相关的
BeanPostProcessor
对象,执行postProcessBeforeInitialization()
方法 -
如果Bean实现了
InitializingBean
接口,执行afterPropertiesSet()
方法。 -
如果Bean在配置文件中的定义包含
init-method
属性,执行指定的方法。 -
如果有和加载这个Bean的Spring容器相关的
BeanPostProcessor
对象,执行postProcessAfterInitialization()
方法 -
当要销毁Bean的时候,如果Bean实现了
DisposableBean
接口,执行destroy()
方法。 -
当要销毁Bean的时候,如果Bean在配置文件中的定义包含
destroy-method
属性,执行指定的方法。
Bean的生命周期小结
最新推荐文章于 2022-03-22 15:18:41 发布