Spring-bean销毁时机

推荐先阅读Spring全家桶

容器关闭前触发bean的销毁

关闭容器方式

  1. 手工关闭容器:ConfigurableApplicationContext接口close()操作
  2. 注册关闭钩子,在虚拟机退出前先关闭容器再退出虚拟机:ConfigurableApplicationContext接口registerShutdownHook()方法
public class AppForLifeCycle{
public static void main(String[] args){
ConfigurableApplicationContext ctx = new ConfigurableApplicationContext("applicationContext.xml");
// 在容器未关闭之前,提前设置好回调函数,让JVM在退出之前回调此函数来关闭容器
ctx.registerShutdownHook();
// 业务结束,调佣close
ctx.close();
}
}

ConfigurableApplicationContext是ApplicationContext的子类