【问题标题】:Loading Spring Context Dynamically at Run-time in a Web Application在 Web 应用程序的运行时动态加载 Spring 上下文
【发布时间】:2010-12-07 14:08:04
【问题描述】:

我正在将使用 Spring Framework 的标准 Java 应用程序转换为 Web 应用程序。此应用程序根据运行时参数加载新的 Spring 上下文,这是使用 ClassPathXmlApplicationContext/FileSystemXmlApplicationContext 完成的。

所以我的问题是如何在 Web 应用程序中执行相同的操作,因为我已经配置了 web.xml 并添加了 Spring 侦听器,如下所示:

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

另一个问题,我的部署环境在 Tomcat 5.5 上,在 Spring 上下文加载期间我看不到任何日志以了解问题所在。

【问题讨论】:

  • 您是指在运行时还是在应用程序启动时?
  • 在我的应用程序已经启动后的运行时。

标签: java spring tomcat web-applications applicationcontext


【解决方案1】:

如果您真的打算在启动 weblication 时加载可配置的上下文,您可以使用上下文名称的属性占位符配置 web.xml。

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:${my_context_file}</param-value>
</context-param>

【讨论】:

  • 我喜欢这种参数方式。
【解决方案2】:

要打开日志记录,您可能需要在 log4j.properties 文件中进行设置,如下所示: log4j.logger.org.springframework=调试

您还必须确保登录到 CONSOLE 而不是其他流。如果你是,那么日志消息应该出现在 catalina.out 中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-30
    • 2014-07-24
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    相关资源
    最近更新 更多