java - Spring bean,XmlWebApplicationContext 中的生命周期(Web 上下文)

标签 java spring

我已经找到一个 previous SF question关于这个问题,我相信设置 init-methoddestroy-method 属性就足够了。但我希望以不同的方式提出这个问题,以加深我的理解。

如果我理解正确,实现 org.springframework.context.Lifecycle 的类在网络应用上下文(即 org.springframework.web.context.support. XmlWebApplicationContext) 比其他应用程序上下文?之所以这样做,是因为 XmlWebApplicationContextstart()(将启动包含的生命周期 bean)将在加载上下文配置文件之前执行。

这是正确的吗?

最佳答案

Lifecycle 接口(interface)应该由想要参与容器 生命周期的 bean 实现。这主要是为了由容器本身实现(参见 docs here ),尽管这些容器内的 beans 也可以选择实现它,并且启动/停止信号将传播给它们。

start()stop() 方法本质上是通知容器刚刚启动,或者即将停止。

我正在努力为应用程序组件找到一个好的用例。业务对象应该只关心它们自己的生命周期,而不是容器的生命周期。一个很好的理由是,当您使用非单例范围(例如请求范围)时,bean 的生命周期独立于容器的生命周期。

关于java - Spring bean,XmlWebApplicationContext 中的生命周期(Web 上下文),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2315800/

相关文章:

java - Android/Java 算法提取字符串 fragment

java - ActionAdapter 无法解析为类型

java - 如何读取位于项目文件夹Java中的文件

java - Spring - thymeleaf : Exception processing template

java - 如何将数组列表转换为数组?

java - Servlet 使用旧的 SQL 数据

java - 复合对象的同步方法如何工作

具有可变段数的 Spring 路径

java - Spring-MVC : Creating a good infrastructure(configuration) and avoiding duplicates

java - 来自先前 Spring Boot 测试的 Quartz 作业仍在随机运行