Автор оригинала: Eugen Paraschiv.
содержание
- Обзор
- Основные зависимости пружин с Maven
- Весенняя настойчивость с Maven
- Весенний MVC с Maven
- Весенняя безопасность с Maven
- Весенний тест с Maven
- Использование Вех
- Использование моментальных снимков
- Вывод
1. Обзор
В этом руководстве показано, как настроить зависимости Spring с помощью Maven . Последние весенние выпуски можно найти на Maven Central .
2. Основные Зависимости Пружин С Maven
Пружина спроектирована с высокой модульностью – использование одной части пружины не должно и не требует другой. Например, базовый контекст Spring может быть без сохранения или библиотек MVC Spring.
Давайте начнем с фундаментальной установки Maven , которая будет использовать только | spring-контекст зависимость :
5.2.8.RELEASE org.springframework spring-context ${org.springframework.version} runtime
Эта зависимость – spring-context – определяет фактический контейнер впрыска пружины и имеет небольшое количество зависимостей: spring-core , spring-expression , spring-aop и spring-beans . Они дополняют контейнер, обеспечивая поддержку некоторых технологий core Spring : утилит Core Spring, языка выражения Spring (SpEL), поддержки Аспектно-ориентированного программирования и механизма JavaBeans .
Обратите внимание, что мы определяем зависимость в runtime scope – это гарантирует отсутствие зависимостей во время компиляции от каких-либо API, специфичных для Spring. Для более сложных случаев использования область runtime может быть удалена из некоторых выбранных зависимостей Spring, но для более простых проектов нет необходимости компилировать с Spring , чтобы полностью использовать фреймворк.
Кроме того, обратите внимание, что JDK 8-это минимальная версия Java, необходимая для Spring 5.2. Он также поддерживает JDK 11 в качестве текущей ветви LTS и JDK13 в качестве последней версии OpenJDK.
3. Весенняя Стойкость С Maven
Давайте теперь рассмотрим зависимости пружины персистентности – в основном spring-orm :
org.springframework spring-orm ${org.springframework.version}
Это поставляется с поддержкой Hibernate и JPA, такими как HibernateTemplate и JpaTemplate , а также несколькими дополнительными зависимостями, связанными с сохранением: spring-jdbc и spring-tx .
Библиотека доступа к данным JDBC определяет поддержку Spring JDBC , а также JdbcTemplate и spring-tx представляет чрезвычайно гибкую абстракцию Управления транзакциями .
4. Весенний MVC С Maven
Чтобы использовать поддержку Spring Web и сервлетов, в pom необходимо включить две зависимости , опять же в дополнение к основным зависимостям сверху:
org.springframework spring-web ${org.springframework.version} org.springframework spring-webmvc ${org.springframework.version}
Зависимость spring-web содержит общие веб-утилиты для сред сервлетов и портлетов, в то время как spring-webmvc включает поддержку MVC для сред сервлетов.
Поскольку spring-webmvc имеет spring-web в качестве зависимости, явное определение spring-web не требуется при использовании spring-webmvc .
Начиная с Spring 5.0, для поддержки веб-фреймворка с реактивным стеком мы можем добавить зависимость для Spring WebFlux :
org.springframework spring-webflux ${org.springframework.version}
5. Безопасность Пружины С Maven
Зависимости безопасности Maven подробно обсуждаются в статье Spring Security with Maven .
6. Весенний Тест С Maven
Фреймворк весеннего тестирования может быть включен в проект с помощью следующей зависимости:
org.springframework spring-test ${spring.version} test
С помощью Spring 5 мы также можем выполнять параллельное выполнение тестов.
7. Использование Вех
Выпускная версия Spring размещена на Maven Central. Однако, если проекту необходимо использовать версии milestone, в pom необходимо добавить пользовательский репозиторий Spring:
repository.springframework.maven.milestone Spring Framework Maven Milestone Repository http://repo.spring.io/milestone/
После определения этого репозитория проект может определить такие зависимости, как:
org.springframework spring-core 5.3.0-M1
8. Использование моментальных снимков
Подобно вехам, моментальные снимки размещаются в пользовательском репозитории:
repository.springframework.maven.snapshot Spring Framework Maven Snapshot Repository http://repo.spring.io/snapshot/
Как только хранилище МОМЕНТАЛЬНЫХ СНИМКОВ будет включено в pom.xml, можно ссылаться на следующие зависимости:
org.springframework spring-core 4.0.3.BUILD-SNAPSHOT
А также – за 5.х:
org.springframework spring-core 5.3.0-SNAPSHOT
9. Заключение
В этой статье рассматриваются практические детали использования Spring с Maven . Представленные здесь зависимости Maven, конечно, являются одними из основных, и некоторые другие, возможно, заслуживают упоминания и еще не были сокращены. Тем не менее, это должно быть хорошей отправной точкой для использования Spring в проекте.