初始化打包在jar文件中的Spring bean

5
在一个 Web 应用程序中,我们可以通过以下方式定义 Spring 的上下文配置位置,以便初始化所有的 Bean:
 <!-- Spring Application Configuration -->
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/spring/ctx-*.xml</param-value>
 </context-param>
 <listener>
  <description>Spring Context Listener</description>
  <display-name>SpringContextListener</display-name>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>

我想知道是否可以在一个包含所有Spring bean的jar文件中执行此操作,而不需要web.xml文件?

2个回答

3

但是我在哪里指定<context-param/>?我可以在ctx-*文件中的一个文件中指定吗? - subh
我检查了XSD,它没有定义<context-param/>http://www.springframework.org/schema/beans/spring-beans-2.5.xsd - subh
如果您想在没有web.xml文件的情况下使用这个功能,那么您应该自己创建应用程序上下文。在初始化代码中,您可以使用“classpath:”前缀来加载打包在您的jar包中的配置文件。 - Stefan De Boey

0

您可以添加一个委托级别,即放置/WEB-INF/spring/my-aggregator-context.xml

这是一个占位符xml文件,它执行了“import classpath:ctx *-xml”

如果您在许多jar中有多个appContext.xml,并且希望全部包含,则甚至可以说classpath *:appContext.xml


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接