0

我的代码结构为 Spring bean 和它们之间的依赖关系。这只是代码的一小部分,因为其余的是“遗留”代码。

在这个时间点上,我想对扩展的现有“遗留”类中的这些 bean 之一执行操作javax.servlet.ServletContextListener。此类初始化应用程序,其代码仅被调用一次。

我最好的做法是什么?

谢谢!

4

2 回答 2

4

您可以通过以下方式获取 Spring Context:

WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContextEvent.getSevletContext())

然后你可以调用 ctx.getBean("name"); (还有更多 - 检查 WebApplicationContext 的 javadocs 及其父级)

于 2009-11-11T16:07:22.700 回答
3

Spring bean 的扩展实际上没有任何意义ServletContextListener,因为 bean 不听 servlet 上下文。如果您想使用与应用程序一起初始化和销毁​​的 bean,那么在 Spring 中有很多方法可以做到这一点。请参阅文档的这一部分

于 2009-11-11T13:20:32.317 回答