为bean定义初始化和销毁操作,主要有两种方法:
1. 在配置<bean>元素的时候,使用init-method和destroy-method参数来配置
2. 让bean的类实现spring的InitializingBean和DisposableBean的接口。InitializingBean的afterPropertiesSet方法会在bean初始化的时候被调用,DisposableBean的destroy方法在bean被移除出上下文时调用
代码:
public class TestInitDis implements InitializingBean, DisposableBean {
public void destroy() throws Exception {
System.out.println("移除bean时调用的方法");
}
public void afterPropertiesSet() throws Exception {
System.out.println("初始化bean调用的方法");
}
public void init() {
System.out.println("spring配置的init方法");
}
public void remove() {
System.out.println("spring配置的destroy方法");
}
}
xml配置:
<bean id="testInitDis" class="com.test.createBean.TestInitDis" init-method="init" destroy-method="remove"/>
测试一下:
ApplicationContext context = new ClassPathXmlApplicationContext("testBean.xml");
((ClassPathXmlApplicationContext) context).registerShutdownHook();
初始化bean调用的方法
spring配置的init方法
移除bean时调用的方法
spring配置的destroy方法