Инициализировать компоненты Spring, упакованные в файл jar

В веб-приложении мы определяем расположение конфигурации контекста для 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>

Я пытаюсь выяснить, можно ли сделать это внутри файла jar (содержащего все компоненты Spring), где у меня нет файла web.xml?


person subh    schedule 04.03.2010    source источник


Ответы (2)


вы можете использовать префикс classpath:

classpath:ctx-*.xml

см. http://static.springsource.org/spring/docs/2.5.6/reference/resources.html#resources-app-ctx.

person Stefan De Boey    schedule 04.03.2010
comment
Но где мне указать ‹context-param /›? Могу ли я указать внутри одного из файлов ctx- *? - person subh; 05.03.2010
comment
Я проверил XSD, он не определяет ‹context-param /› springframework.org/schema/beans/spring-beans-2.5.xsd - person subh; 05.03.2010
comment
если вы хотите использовать это без web.xml, вам следует создать контекст приложения самостоятельно. в этом коде инициализации вы можете использовать префикс classpath: для загрузки файлов конфигурации, упакованных в вашу банку. - person Stefan De Boey; 05.03.2010

Вы можете добавить уровень делегирования put /WEB-INF/spring/my-aggregator-context.xml

который является xml-файлом-заполнителем, который выполняет «import classpath: ctx * -xml»

Если у вас есть несколько appContext.xml во многих банках, и вы хотите, чтобы все они были включены, вы даже можете сказать classpath *: appContext.xml

person Kannan Ekanath    schedule 05.03.2010