Ответ 1
Существует следующая диаграмма (из Диаграмма зависимостей модуля Spring 3.0):
Как вы можете видеть, существует несколько групп модулей:
-
"Core Spring" -
context
и его зависимости (asm
пропущено,aop
зависит от него) -
Web
-
web
- базовая интеграция webapp -
webmvc
(web.servlet
) - Spring MVC Framework -
webmvc-portlet
(web.portlet
) - Spring MVC для портлетов -
web.struts
- Интеграция Struts
-
-
Доступ к данным
-
tx
(transaction
) - базовая поддержка транзакций -
jdbc
- поддержка JDBC -
orm
- интеграция ORM
-
-
Другие модули
-
context-support
- интеграция с Quartz, Javamail, Ehcache и т.д. -
jms
,oxm
- JMS и сопоставление объектно-XML соответственно -
test
- для модульного тестирования -
aspects
- AspectJ intergration (обычно не требуется) -
instrument
,instrument.tomcat
- время загрузки >
-
Итак, если вы используете инструмент построения, поддерживающий транзитивные зависимости (например, Maven), вам обычно нужно объявлять необходимые модули из групп web и данных, и некоторые из других модулей, если это необходимо. Также вам может потребоваться объявить context
, чтобы настроить ведение журнала.
Например, если вы хотите создать веб-приложение с Spring MVC и Hibernate, вы объявите webmvc
(web.servlet
) и orm
. Если вы не используете Maven, вам также нужно импортировать свои транзитивные зависимости, как показано на диаграмме.
См. также: