您的位置:首页 > 编程语言 > Java开发

Spring管理Bean的生命周期

2017-07-21 15:36 399 查看
①创建容器,调用bean的构造方法,创建bean

②调用bean的初始化前置方法(如果没配置就没有这一步)

③调用bean的初始化方法(用户自己指定一个方法作为初始化方法)

④调用bean的初始化后置方法(如果没配置就没有这一步)

⑤IOC容器关闭,调用bean的销毁方法(用户自己指定一个方法作为销毁方法)

public class Car {
private String name;
public String getName() {...}
public void setName(String name{...}
public Car() {...}
public void MyInit(){...}
public void MyDestroy(){...}
}
public class MyBeanPostProcessor implements BeanPostProcessor {

@Override
public Object postProcessAfterInitialization(Object arg0, String arg1)
throws BeansException {
......
return arg0;
}

@Override
public Object postProcessBeforeInitialization(Object arg0, String arg1)
throws BeansException {
......
return arg0;
}

}
要使用初始化前置和后置方法就要写一个类实现BeanPostProcessor接口,然后重写里面的前置后置方法。

参数一:是bean实例本身;参数二:是IOC容器中bean配置的名称;返回值:是实际上返回给用户使用的bean,可以在前置和后置方法中修改

<bean id="car" class="poCycle.Car" init-method="MyInit"
destroy-method="MyDestroy">
<property name="name" value="BMW"></property>
</bean>
<bean class="poCycle.MyBeanPostProcessor"></bean>
需要在配置文件中添加<bean class="poCycle.MyBeanPostProcessor"></bean>才能使用初始化前置和后置方法

init-method指定初始化方法,destroy-method指定销毁方法

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: