Spring IOC容器中Bean的生命周期

一、IOC容器管理Bean生命周期过程和方法

1、Spring IOC容器可以管理Bean的生命周期,在生命周期的特定的时间点执行特定的操作。


2、Spring IOC对Bean的生命周期管理过程:

① 通过构造方法或者工厂方法创建Bean的实例

② 为Bean的属性注入值

③ 调用Bean的初始化方法

④ 此时Bean已经创建好,可以被使用了

⑤ 当容器关闭时,调用Bean的销毁方法


3、可以在Bean配置文件中,声明Bean时,设置init-method和destroy-method属性,指定Bean的初始化和销毁方法。



二、创建Bean后置处理器

1、Bean的后置处理器允许在调用初始化方法前后对Bean进行处理。


2、Bean后置处理器对IOC容器里的所有Bean实例逐一处理,而不是只处理某一个Bean。典型的应用是:检查Bean的正确性或根据特定的标准更改Bean的属性。


3、创建Bean后置处理器的方法:

实现 org.springframework.beans.factory.config.BeanPostProcessor 接口,

并重写postProcessBeforeInitialization 和 postProcessAfterInitialization 方法。

如果需要对Bean做额外的处理,可以在 postProcessBeforeInitialization  postProcessAfterInitialization 中处理。


4、在初始化方法被调用前后,Spring将Bean的实例分别传给上述两个方法


5、添加Bean后置处理器后Bean的生命周期:

① 通过构造方法或者工厂方法创建Bean的实例

② 为Bean的属性注入值

将Bean的实例传递给Bean的后置处理器方法进行处理:postProcessBeforeInitialization

④ 调用Bean的初始化方法

⑤ 将Bean的实例传递给Bean的后置处理器方法进行处理:postProcessAfterInitialization

⑥ Bean的实例已创建好,可以被使用

⑦ 当IOC容器关闭时,调用Bean的销毁方法


猜你喜欢

转载自blog.csdn.net/qingpengshan/article/details/80577725