Java 在Web应用程序的运行时动态加载Spring上下文

Java 在Web应用程序的运行时动态加载Spring上下文,java,spring,tomcat,web-applications,applicationcontext,Java,Spring,Tomcat,Web Applications,Applicationcontext,我正在将使用Spring框架的标准Java应用程序转换为Web应用程序。此应用程序基于运行时参数加载新的Spring上下文,这是使用ClassPathXmlApplicationContext/FileSystemXmlApplicationContext完成的 因此,我的问题是,如果我已经配置了Web.xml并添加了Spring侦听器,那么如何在Web应用程序中执行相同的操作,如下所示: <listener> <listener-class>org.spring

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

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

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

org.springframework.web.context.ContextLoaderListener

另一个问题是,我的部署环境在Tomcat 5.5上,在spring上下文加载过程中,我无法看到任何日志记录,以了解问题所在。

如果您真的想在web应用程序启动时加载可配置的上下文,您可以使用属性占位符为上下文名称配置web.xml

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

上下文配置位置
类路径:${my_context_file}

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


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

您的意思是在运行时还是在应用程序启动时?在我的应用程序已经启动后的运行时。我喜欢这种参数方法。