考虑这个例子
@Component
class MyExpensiveClass {
private DB db;
}
当Spring
应用程序实例化时,会创建一个bean myExpensiveClass
。
现在,如果我关闭了applicationContext,我想释放db
的句柄。
我有办法在春天这样做吗?比如实现一个方法并Spring
调用它?
答案 0 :(得分:0)
如果您使用的是xml配置,则可以注册init和destroy方法
<bean id="customerService"class="com.mkyong.customer.services.CustomerService"
init-method="initIt" destroy-method="cleanUp">
如果您只使用注释
@Configuration
public class AppConfig {
@Bean(initMethodName="init")
public Foo foo() {
return new Foo();
}
@Bean(destroyMethodName="cleanup")
public Bar bar() {
return new Bar();
}
}