Spring Bean的生命周期理解
创始人
2024-03-06 11:20:59
0

一、Spring Bean的生命周期大的概括起来有四个阶段:
1、实例化
2、属性填充注入
3、初始化使用
4、Bean的销毁

二、如流程图所示

三、步骤说明

1、实例化
实例化一个Bean,即new

2、IOC依赖注入
按照Spring上下文对实例化的Bean进行属性填充注入

3、setBeanName实现
如果这个Bean已经实现了 BeanNameAware 接口,就会调用它实现的setBeanName(String)方法,此处传递的是Spring配置文件中Bean的id值

4、setBeanFactory实现
如果这个Bean实现了 BeanFactoryAware 接口,会调用它实现的setBeanFactory(BeanFactory)方法,传递的是Spring工厂对象自身

5、setApplicationContext实现
如果这个Bean实现了 ApplicationContextAware 接口,会调用它实现的setApplicationContext(ApplicationContext)方法,传递的是Spring的应用程序上下文对象

6、postProcessBeforeInitialization实现-初始化预处理
如果这个Bean实现了 BeanPostProcessor 接口,将会调用它实现的postProcessBeforeInitialization(Object obj,String s)方法。BeanPostProcessor被用作Bean内容修改,并且由于这个是在Bean初始化结束的时候调用的这个方法

7、init-method
如果这个bean在Spring配置文件中配置了init-method属性,会调用其配置的初始化方法

8、postProcessAfterInitialization
如果这个Bean实现了 BeanPostProcessor 接口,将会调用它实现的postProcessAfterInitialization(Object obj,String s)方法

9、Destory过期自动清理
当Bean不再需要时,如果这个Bean实现了 DisposableBean 这个接口,会调用其实现的destory()方法

10、destory-method
如果这个bean在Spring配置文件中配置了 destory-method 属性,会调用其配置的销毁方法

四、总结
1、实例化之前做加载class文件、xml、yml等信息做准备
2、实例化阶段完成属性填充注入
3、初始化阶段做一系列实现接口初始动作,获取完整的对象并使用
4、销毁阶段执行 destory() 方发,销毁Bean

相关内容

热门资讯

夫妻或情侣之间互发亲密照要不要... 2026年1月1日起,新修订的《中华人民共和国治安管理处罚法》将正式施行。近日,有媒体报道称,“明年...
权威离婚律师推荐:四川胡云律师... 在离婚纠纷日益复杂的当下,寻找一位权威且靠谱的离婚律师至关重要。那么,怎样的离婚律师才是的?收费标准...
尹锡悦,涉嫌受贿被起诉 综合新华社、央视新闻消息,当地时间24日,“金建希特检组”以 涉嫌受贿起诉韩国前总统尹锡悦, 并向其...
靖国神社被起诉! 当地时间23日,二战时期被日军强制征兵的部分韩籍遇难者遗属向首尔中央地方法院提起诉讼, 要求日本靖国...
最新!靖国神社被起诉 据央视新闻,当地时间23日,二战时期被日军强制征兵的部分韩籍遇难者遗属向首尔中央地方法院提起诉讼,要...
靖国神社,被起诉! 当地时间23日,二战时期被日军强制征兵的部分韩籍遇难者遗属向首尔中央地方法院提起诉讼,要求日本靖国神...
国台办:为“台独”分裂势力为虎... 中新社北京12月24日电 (陈建新 李百加)国务院台办发言人彭庆恩24日在北京表示,凡危害国家主权、...
怀宁县清河乡“一站式”调解架起... 诉求“只进一扇门”,调处“最多跑一地”。在怀宁县清河乡,这不仅仅是一句口号,更是当地群众化解矛盾纠纷...