当前位置: 首页 > 知识库问答 >
问题:

春豆生命周期中初始化破坏豆方法的质疑

缪风史
2023-03-14

我正在学习Spring框架,现在我正在学习init和callbacl方法。

我将遵循以下教程:http://www.tutorialspoint.com/spring/spring_bean_life_cycle.htm

我对本教程有一些疑问:

1) 为什么在MainApp类中,他将上下文声明为AbstractApplicationContext,但使用实现类PathXmlApplicationContext创建它?是因为我可以重写init()和destroy()方法吗?还是为了别的?

2) 语境究竟是什么。registerShutdownHook();方法

共有1个答案

马绪
2023-03-14

>

  • AbstractApplication ationContext是声明寄存器Shutdown Hook()的地方。因此,您需要在变量声明中使用这个类(或它的任何子类),以便在应用程序上下文中调用recsterShutdown Hook()

    注册一个JVM关机钩子,该钩子将在JVM关机时关闭应用程序上下文(销毁所有bean)

  •  类似资料:
    • 在实际应用中,destroy方法的可能示例是什么?为什么一个正在运行的应用程序想要销毁它的bean?如果bean是由spring容器(比如ContextLoaderListener)为web应用程序创建的,那么如何重新创建这些bean,因为容器已经启动了。有没有办法在不重启应用服务器的情况下重启spring IoC容器?

    • 想改进这个问题吗 通过编辑此帖子,添加详细信息并澄清问题。 什么是bean生命周期?为什么控制反转不会自动调用销毁()方法,为什么我们会显式调用?

    • 我知道这个问题听起来很幼稚,但我对web应用程序中bean的范围感到困惑。我知道,对于每个请求,容器都会生成一个新线程,类似地,对于spring web应用程序,每个请求都会生成一个新线程,那么为什么建议将我的控制器、服务定义为singleton,这些bean的范围不应该是prototype吗,因为每个请求(即线程)都有其自己的控制器实例和要使用的服务。 请开导我。

    • 这段时间我在学习Spring框架。 现在我正在研究春豆的生命周期,尤其是关于豆子的日化和破坏,阅读本教程: http://www.tutorialspoint.com/spring/spring_bean_life_cycle.htm 我已经实现了前一篇文章中提出的示例,但我对这个论点有疑问。 在这个例子中,我只有两个类:HelloWorld。java和MainApp。JAVA 在地狱世界。jav

    • 方法的标注和函数类似: struct Owner(i32); impl Owner { // 标注生命周期,就像独立的函数一样。 fn add_one<'a>(&'a mut self) { self.0 += 1; } fn print<'a>(&'a self) { println!("`print`: {}", self.0); } } fn

    • 用法 组件和虚拟 DOM 节点都有生命周期方法,也叫钩子,它们会在 DOM 元素的生命周期的对应时期被调用。 // 组件中的钩子 var ComponentWithHook = { oninit: function(vnode) { console.log("initialize component") }, view: function() { return "hello