我正在学习Spring Framework,现在我正在研究init和destroy beans callbacl方法。
我正在关注本教程:http://www.tutorialspoint.com/spring/spring_bean_life_cycle.htm
我对本教程有些怀疑:
1)为什么在MainApp类中他将上下文声明为AbstractApplicationContext但是使用实现ClassPathXmlApplicationContext创建它?是因为我可以覆盖init()和destroy()方法吗?或者还有什么?
2)context.registerShutdownHook()究竟是什么做的;方法
答案 0 :(得分:2)
AbstractApplicationContext
是声明registerShutdownHook()
的地方。因此,您需要在变量声明中使用此类(或其任何子类),以便在应用程序上下文中调用registerShutdownHook()
。
registerShutdownHook()
注册一个JVM关闭挂钩,它会在JVM关闭时关闭应用程序上下文(销毁所有bean)