Spring管理Bean的生命周期
一、SpringIOC容器可以管理bean的生命周期,Spring允许在bean生命周期的特定点执行指定的任务。
SpringIOC容器对bean的生命周期进行管理的过程如下:
1、通过构造器或工厂方法创建bean实例,即执行Bean的构造方法
2、为bean的属性设置值和对其它bean的引用,即执行Bean属性对应的Set方法
3、调用bean的初始化方法,init方法
4、bean可以使用了,开始你的表演....
5、当容器关闭时,调用bean的销毁方法,destroy方法
二、当Bean实现了Spring提供的对Bean更细粒度的管理接口--后置处理器 BeanPostProcessor:
public class MyBean implements BeanPostProcessor {
@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
System.out.println("postProcessAfterInitialization...:" + bean + "," + beanName);
return bean;
}
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
System.out.println("postProcessBeforeInitialization...:" + bean + "," + beanName);
return bean;
}
}
Spiring配置:<beanclass="com.itcast.spring.bean.cycle.MyBeanPostProcessor"></bean>,不需要配置 id,此时此时对于Bean的掌控更加到位:
1、 通过构造器或工厂方法创建bean实例
2、为bean的属性设置值和对其它bean的引用
3、将bean实例传递给bean后置处理器的postProcessBeforeInitialization方法
4、调用bean的初始化方法
5、将bean实例传递给bean后置处理器的postProcessAfterInitialization方法
6、bean可以使用了
7、当容器关闭时,调用bean的销毁方法