`

Spring之Bean的生命周期以及Bean后置处理器

 
阅读更多

 

Spring IOC 容器可以管理 Bean 的生命周期,,Spring 允许在 Bean 生命周期的特定点执行定制的任务。

 

Bean 的生命周期

 

1. 通过构造器或工厂方法创建 Bean 实例

2. 为 Bean 的属性设置值和对其他 Bean 的引用

3. 调用 Bean 的初始化方法

4. Bean 可以使用了

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

在 Bean 的声明里设置 init-method 和 destroy-method 属性,为 Bean 指定初始化和销毁方法。

 

Bean 后置处理器

 

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

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

对Bean 后置处理器而言。需要实现org.springframework.beans.factory.config.BeanPostProcessor接口。在初始化方法被调用前后,Spring 将把每个 Bean 实例分别传递给上述接口的以下两个方法:

 

Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException

Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException

 

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

 

1. 通过构造器或工厂方法创建 Bean 实例

2. 为 Bean 的属性设置值和对其他 Bean 的引用

3. 将 Bean 实例传递给 Bean 后置处理器的 postProcessBeforeInitialization 方法

4. 调用 Bean 的初始化方法

5. 将 Bean 实例传递给 Bean 后置处理器的 postProcessAfterInitialization方法

6. Bean 可以使用了

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics