【问题标题】:Spring web Dependency Injection(IOC) and the ServletContextListenerSpring Web 依赖注入(IOC)和 ServletContextListener
【发布时间】:2009-11-11 13:18:11
【问题描述】:

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

此时,我想在扩展javax.servlet.ServletContextListener 的现有'legacy' 类中对其中一个bean 执行操作。此类初始化应用程序,其代码仅被调用一次。

我最好的做法是什么?

谢谢!

【问题讨论】:

    标签: spring web-applications initialization startup


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2011-06-12
        • 1970-01-01
        • 1970-01-01
        • 2011-12-12
        • 1970-01-01
        • 1970-01-01
        • 2016-07-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多