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