Java-приложение модульное с пружиной

Я пытаюсь построить структуру проекта следующим образом:

Project
|--Web_module.war
    |--Data_module.jar(Spring)
    |--Util_module.jar
    |--other public api...

Это означает, что разные модули должны быть упакованы в разные банки, поэтому мне нужно иметь больше конфигураций пружин (application-context.xml) для разных модулей (например, для модуля данных и для веб-модуля).

Мой вопрос, как я могу организовать все файлы конфигурации, чтобы правильно включить их в веб-модуль.

Заранее спасибо.

2 ответа

Решение

Запланируйте один проект затмения для каждого файла JAR, который вы ожидаете.

Выберите проекты jars files / eclipse в соответствии с функциональностью вашего проекта, чтобы они были модульными и самодостаточными, насколько это возможно.

Используйте тесты junit в каждом проекте eclipse для тщательного тестирования отдельных проектов / модулей, используя поддержку тестовых модулей пружин.

Каждый проект eclipse будет содержать собственный файл контекста весенней конфигурации, например, проект Util_module может содержать util-context.xml

Наконец, создайте динамический веб-проект Eclipse в качестве веб-приложения-оболочки, которое объединит все ваши "модульные" проекты.

Артефакты пользовательского интерфейса, такие как HTML, JS, JSP и т. Д. Плюс код Java, который использует контексты веб-приложений, такие как контроллеры, фильтры сервлетов и т. Д., Должны быть включены в веб-проект eclipse.

В пути сборки Java веб-проекта eclipse, но модуль "проектирует" как "требуемые" проекты

В сборке развертывания веб-проекта eclipse добавьте модуль "projects" в качестве зависимостей.

теперь, когда вы создаете все и развертываете веб-приложение, все зависящие от модуля проекты также будут компилироваться и развертываться, но, что более важно, все функциональные возможности проекта будут разделены на отдельные модульные проекты.

осторожно настраивайте зависимости между проектами, чтобы не вводить циклические зависимости

не бойтесь реструктурировать структуру проекта, когда это необходимо для поддержания чистых и актуальных модулей

Чтобы ваши модули могли опубликовать свою собственную конфигурацию (а ваше основное приложение автоматически их обнаружило), вы можете в своем главном applicationContext.xml импортировать другие файлы context.xml из пути к классам, используя шаблон с подстановочными знаками:

<import resource="classpath*:conf/moduleContext.xml" />

Это говорит Spring, чтобы найти и прочитать файлы во всех jar-файлах, которые соответствуют conf/moduleContext.xml. Обратите внимание, что есть небольшое ограничение: ваши контекстные файлы должны быть как минимум в одном каталоге (не в корне пути к классам). Вот почему в моем примере у вас есть каталог "conf".

Другие вопросы по тегам