Макет сборки и время выполнения CLASSPATH - это две разные вещи.Даже если вы определите отдельные applicationContext.xml
файлы или @Configuration
классы в разных модулях, они могут объединиться в один CLASSPATH.
При этом module1
и module2
могутобъявлять свои собственные контексты, но поскольку CLASSPATH объединяется во время выполнения, будет создан только один основной контекст.Также, если вы решите использовать сканирование CLASSPATH в одном модуле, оно может забирать классы (bean), помеченные @Service
в других модулях.
В модуле web
, который также должен иметь зависимости от ядра Springбиблиотеки, также будут зависеть от spring-web
, MVC и spring-security
.Этот модуль создаст дочерний web
контекст, который имеет доступ к основному контексту, но не наоборот.
Очевидно, у вас должна быть только одна копия каждой библиотеки в вашем Uber-JAR (ear
?)