bean想要执行destroy方法,需要关闭容器
关闭容器,除了可以使用close方法,还可以注册容器关闭钩子
registerShutdownHook()
public class App2 {
public static void main(String[] args) {
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
BookDao bookDao = (BookDao) ctx.getBean("bookDao");
bookDao.save();
//ctx.close();
//容器关闭钩子
ctx.registerShutdownHook();
}
}
区别:
close方法比较暴力,直接执行,代码顺序很重要,一般放在代码最后面。
registerShutdownHook方法随便放哪都行。