Spring 3.0.5 библиотеки

Все, Я начинаю с Spring и получает дистрибутив Spring 3.0.5. Я вижу следующие банки:

  • org.springframework.aop-3.0.5.RELEASE.jar
  • org.springframework.asm-3.0.5.RELEASE.jar
  • org.springframework.aspects-3.0.5.RELEASE.jar
  • org.springframework.beans-3.0.5.RELEASE.jar
  • org.springframework.context.support-3.0.5.RELEASE.jar
  • org.springframework.context-3.0.5.RELEASE.jar
  • org.springframework.core-3.0.5.RELEASE.jar
  • org.springframework.expression-3.0.5.RELEASE.jar
  • org.springframework.instrument.tomcat-3.0.5.RELEASE.jar
  • org.springframework.instrument-3.0.5.RELEASE.jar
  • org.springframework.jdbc-3.0.5.RELEASE.jar
  • org.springframework.jms-3.0.5.RELEASE.jar
  • org.springframework.orm-3.0.5.RELEASE.jar
  • org.springframework.oxm-3.0.5.RELEASE.jar
  • org.springframework.test-3.0.5.RELEASE.jar
  • org.springframework.transaction-3.0.5.RELEASE.jar
  • org.springframework.web.portlet-3.0.5.RELEASE.jar
  • org.springframework.web.servlet-3.0.5.RELEASE.jar
  • org.springframework.web.struts-3.0.5.RELEASE.jar
  • org.springframework.web-3.0.5.RELEASE.jar

Я хочу знать, какая из них предназначена для модуля Spring (ORM, Core, MVC, AOP и т.д.). Чтобы я мог выбрать правильный набор банок для моего проекта.

Есть ли ссылка где-нибудь, объясняющая каждую банку, и она правильно используется?

Ответы

Ответ 1

Существует следующая диаграмма (из Диаграмма зависимостей модуля Spring 3.0):

alt text

Как вы можете видеть, существует несколько групп модулей:

  • "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, вам также нужно импортировать свои транзитивные зависимости, как показано на диаграмме.

См. также:

Ответ 2

Я бы пошел с Maven. Даже если вы не можете использовать его в своем проекте, вы можете создать с ним фиктивный проект или просмотреть зависимости jar spring.

С Maven вы просто добавляете необходимые вам банки: -orm, -aop, -webmvc (отсутствует в вашем списке), а maven выбирает все остальные банки, которые вам нужны.