在spring中,Bean的销毁有两种方法
第一种,在配置文件中通过指定destroy-method属性来完成
例如: <bean id="HelloWorld" class="com.gc.action.HelloWorld" destroy-method="destroy">
特别注意其测试的示例代码,一开始测试时,destroy方法总是不执行,后来google一下才发现是怎么回事:
Spring不在Web Container或是EJB Container中的时候,需要我们自己来调用
// 通过BeanFactory来使用bean
Resource res = new FileSystemResource("config.xml");
XmlBeanFactory factory = new XmlBeanFactory(res);
HelloWorld helloWorld = (HelloWorld) factory.getBean("HelloWorld");
System.out.println("Hello.msg: " + helloWorld.getDate() + " "
+ helloWorld.getMsg());
// Spring不在Web Container或是EJB Container中的时候,需要我们自己来调用,
// 具体就是调用BeanFactory的destroySingletons()方法.
factory.destroySingletons();
第二种方法,实现org.springframework.beans.factory.DisposableBean接口, 重写destroy方法
还是推荐使用第一种方法,没把代码耦合于spring.