1. Введение
В этом учебнике мы узнаем о весна-загрузка-стартер-родитель и как мы можем извлечь из этого выгоду для улучшения управления зависимостью, конфигураций по умолчанию для плагинов и быстрого построения наших Весенняя загрузка Приложений.
Мы также увидим, как мы можем переопределить версии существующих зависимостей и свойств, предоставляемых стартер-родитель.
2. Весенняя загрузка стартер родителей
весна-загрузка-стартер-родитель Проект представляет 3 специальный стартовый проект – который обеспечивает конфигурации по умолчанию для нашего применения и полное дерево зависимости, чтобы быстро построить наш Весенняя загрузка проект.
Он также обеспечивает конфигурацию по умолчанию для плагинов Maven, таких как maven-failsafe-plugin , maven-jar-plugin , Maven-surefire-plugin , Maven-война-плагин .
Помимо этого, он также наследует управление зависимостью от весна-загрузка зависимостей который является родителем s pring-boot-стартер-родитель .
Мы можем начать использовать его в нашем проекте, добавив это в качестве родителя в рамках нашего пом.xml :
org.springframework.boot spring-boot-starter-parent 2.4.0
Мы всегда можем получить последнюю версию весна-загрузка-стартер-родитель из Мавен Централ.
3. Управление зависимостями
После того, как мы объявили стартовый родитель в нашем проекте, мы можем вытащить любую зависимость от родителя, просто объявив его в нашем зависимостей ярлык.
Кроме того, нам не нужно определять версии зависимостей, Maven будет загружать файлы банки на основе версии, определенной для стартового родителя в родительском теге.
Например, если мы строим веб-проект, мы можем добавить весна-загрузка-стартер-веб- непосредственно, и нам не нужно указывать версию:
org.springframework.boot spring-boot-starter-web
4. Тег управления зависимостью
Для управления другой версией зависимости, предоставляемой стартовым родителем, мы можем объявить зависимость и ее версию явно в зависимостьУкоминие секция:
org.springframework.boot spring-boot-starter-data-jpa 2.4.0
5. Свойства
Чтобы изменить значение любого свойства, определенного в стартовом родителе, мы можем повторно объявить его в нашем разделе свойств.
весна-загрузка-стартер-родитель через родительские весна-загрузка зависимостей использует свойства для настройки всех версий зависимостей, версии Java и плагина Maven.
Таким образом, это позволяет нам легко контролировать эти конфигурации, просто изменив соответствующее свойство.
Если мы хотим изменить версию любой зависимости, которую мы хотим вытащить из стартового родителя, мы можем добавить зависимость в тег зависимости и напрямую настроить ее свойство:
4.11
6. Другие переопределения свойств
Мы также можем использовать свойства для других конфигураций, таких как управление версиями плагинов или даже для некоторых базовых конфигураций, таких как управление java-версией, кодированием источников.
Нам просто нужно повторно декларировать имущество с новой стоимостью.
Например, чтобы изменить версию Java, мы можем указать ее в Java.версия свойство:
1.8
7. Весенняя загрузка проекта без стартера родителей
Иногда у нас есть обычай Maven родителей. Или, мы можем предпочесть объявить все наши конфигурации Maven вручную.
В этом случае мы можем отказаться от использования весна-загрузка-стартер-родитель проект. Но мы все еще можем извлечь выгоду из его дерева зависимости, добавляя весна-загрузка зависимостей в нашем проекте в импорт размах.
Давайте объясним это простым примером, в котором мы хотим использовать другого родителя, кроме стартового родителя:
com.baeldung spring-boot-parent 1.0.0-SNAPSHOT
Здесь мы использовали родительские модули другой проект, как наша родительская зависимость.
Теперь, в этом случае, мы все еще можем получить те же преимущества управления зависимостью, добавив его в импорт сферы и пом тип:
org.springframework.boot spring-boot-dependencies 2.2.6.RELEASE pom import
Кроме того, мы можем тянуть в любой зависимости, просто объявив его в зависимостей как мы это делали в наших предыдущих примерах. Номера версий для этих зависимостей не нужны.
8. Резюме
В этом учебнике мы дали обзор весна-загрузка-стартер-родитель и преимущество добавления его в качестве родителя в любом проекте ребенка.
Затем мы научились управлять зависимостями. Мы можем переопределить зависимости в зависимостьУкоминие или через свойства.
Исходный код фрагментов, используемых в этом учебнике, доступен на Гитхуб , один с помощью стартера родителей, а другой пользовательских родителей.