IOC容器中Bean的生命周期
1.SpringIOC管理Bean的生命周期
Spring运行Bean在生命周期的特定点执行定制任务
SpringIOC容器对Bean的生命周期管理的过程:
1.创建Bean的实例
2.赋值
3.调用Bean的初始化方法
4.容器关闭时,调用Bean的销毁方法
在xml中生命init-method和destory-method属性,为Bean指定初始化和销毁方法
2.调用init-method和destory-method
Java代码
package com.spring.cycle;
public class CycleCar {
private String brand;
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public void init(){
System.out.println("init");
}
public void destory(){
System.out.println("destory");
}
public CycleCar() {
System.out.println("CycleCar");
}
}
xml代码:
<bean id="cycleCar" class="com.spring.cycle.CycleCar" init-method="init" destroy-method="destory">
<property name="brand" value="BMW"></property>
</bean>
3.创建Bean后置处理器
bean后置处理器语序在调用初始化方法前后对Bean进行操作
bean后置处理器会对IOC容器的逐一处理所有Bean实例,而不是单一实例处理
Java 代码:
package com.spring.cycle;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
public class MyPostProcessor implements BeanPostProcessor {
@Override
public Object postProcessBeforeInitialization(Object o, String s) throws BeansException {
System.out.println("before " + s);
return o;
}
@Override
public Object postProcessAfterInitialization(Object o, String s) throws BeansException {
System.out.println("after " + s);
return o;
}
}
xm代码:
<bean class="com.spring.cycle.MyPostProcessor"></bean>
网友评论