Spring bean的生命周期
①通过构造器或者工厂方法创建bean实例
②调用setter方法为bean的属性设置值
③将bean实例传递给Bean后置处理器的beanPostProcessBeforeInitialization方法
④调用bean的init-method方法
⑤将bean的实例传递给Bean的后置处理器的beanPostProcessAfterInitialization方法
⑥此时bean是可以使用的状态
⑦关闭容器时,调用bean的destory-method方法
注:
Bean 的初始化和销毁方法:可以通过 bean 节点的 init-method 和
destroy-method 来配置 Bean 的初始化方法和销毁方法
bean的后置处理器需要实现BeanPostProcessor接口
/**
* bean:IOC 容器中 bean 的实例
* beanNames:IOC 容器中该 bean 的名字
*/
public interface BeanPostProcessor {
Object postProcessBeforeInitialization(Object bean, String beanNames) throws BeansException; Object postProcessAfterInitialization(Object bean, String beanNames) throws BeansException; }
Bean 后置处理器需要在 IOC 容器中进行配置,但不需要指定 id 属性,Spring IOC 容器会自动的识别这是个 Bean 后置处理器,自动的使用它。