Есть несколько способов сделать это.
1. web.xml contextConfigLocation
Ваш первый вариант - загрузить их все в ваше веб-приложение.
контекст через элемент ContextConfigLocation. Вы уже собираетесь
чтобы ваше основное приложение было здесь, если вы пишете
веб-приложение. Все, что вам нужно сделать, это поставить пробел между
объявление следующего контекста.
<context-param>
<param-name> contextConfigLocation </param-name>
<param-value>
applicationContext1.xml
applicationContext2.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
Выше указано использование возврата каретки. Кроме того, вы могли бы просто положить в
пространство.
<context-param>
<param-name> contextConfigLocation </param-name>
<param-value> applicationContext1.xml applicationContext2.xml </param-value>
</context-param>
<listener>
<listener-class> org.springframework.web.context.ContextLoaderListener </listener-class>
</listener>
2. applicationContext.xml ресурс импорта
Другой вариант - просто добавить ваше основное applicationContext.xml.
в web.xml, а затем используйте операторы импорта в этом основном контексте.
В applicationContext.xml
у вас может быть ...
<!-- hibernate configuration and mappings -->
<import resource="applicationContext-hibernate.xml"/>
<!-- ldap -->
<import resource="applicationContext-ldap.xml"/>
<!-- aspects -->
<import resource="applicationContext-aspects.xml"/>
Какую стратегию следует использовать?
1. Я всегда предпочитаю загружать через web.xml .
Потому что это позволяет мне держать все контексты изолированными от каждого
Другой. С помощью тестов мы можем загрузить только те контексты, которые нам нужны для запуска
эти тесты. Это делает разработку более модульной, как компоненты
остаться loosely coupled
, чтобы в будущем я мог извлечь пакет
или вертикальный слой и переместите его в свой собственный модуль.
2. Если вы загружаете контексты в non-web application
, я бы использовал ресурс import
.