springIoc容器可以管理Bean的声明周期,Spring允许在bean声明周期内特定的时间点执行指定的任务。
Spring IOC容器对bean的声明周期进行管理的过程:
① 通过构造器或者工厂方法创建bean实例
② 为bean的属性设置值和对其他bean的引用
③ 调用bean的初始化方法
④ 使用bean
⑤ 当容器关闭时,调用bean的销毁方法
在配置bean的时候,可以通过init-method和destory-method属性为bean指定初始化和销毁方法
bean的后置处理器
① bean后置处理器允许在调用初始化方法前后对bean进行额外的处理
② bean后置处理器对IOC容器里的所有bean实例逐一处理。
典型应用:检查bean属性的正确性或者根据特定的标准更改bean的属性
③ bean后置处理器时需要实现接口:
org.springframework.beans.factory.config.BeanPostProcessor。在初始化方法被调用前后,Spring将把每个bean实例分别传递给上述接口的以下两个方法:
●postProcessBeforeInitialization(Object, String)
●postProcessAfterInitialization(Object, String)
添加bean后置处理器后bean的生命周期:
① 通过构造器或者工厂方法创建bean实例
② 为bean的属性设置值和对其他bean的引用
③ 将bean实例传递给bean后置处理器的postProcessBeforeInitialization()方法
④ 调用bean的初始化方法
⑤ 将bean实例传递给bean后置处理器的postProcessAfterInitialization()方法
⑥ 使用bean
⑥ 当容器关闭时,调用bean的销毁方法