Пролетният стартиращ родител

1. Въведение

В този урок ще научим за spring-boot-starter-parent и как можем да се възползваме от него за по-добро управление на зависимостите, конфигурации по подразбиране за плъгини и бързо изграждане на нашите приложения Spring Boot .

Също така ще видим как можем да заменим версиите на съществуващите зависимости и свойства, предоставени от starter-parent.

2. Родител за пролетно стартиране

Проектът spring-boot-starter-parent е специален стартов проект - който предоставя конфигурации по подразбиране за нашето приложение и пълно дърво на зависимостите за бързо изграждане на нашия проект Spring Boot .

Той също така осигурява конфигурация по подразбиране за плъгини Maven като maven-failsafe-plugin , maven-jar-plugin , maven-surefire-plugin , maven-war-plugin .

Освен това, той също наследява управлението на зависимостите от spring-boot-зависимостите, което е родител на s pring-boot-starter-parent .

Можем да започнем да го използваме в нашия проект, като добавим това като родител в pom.xml на нашия проект :

 org.springframework.boot spring-boot-starter-parent 2.2.6.RELEASE 

Винаги можем да получим най-новата версия на spring-boot-starter-parent от Maven Central.

3. Управление на зависимости

След като декларираме началния родител в нашия проект, можем да извлечем всяка зависимост от родителя, като просто го декларираме в нашия таг за зависимости .

Също така, не е необходимо да дефинираме версии на зависимостите, Maven ще изтегли jar файлове въз основа на версията, определена за начален родител в родителския таг.

Например, ако изграждаме уеб проект, можем директно да добавим spring-boot-starter-web и не е необходимо да указваме версията:

  org.springframework.boot spring-boot-starter-web  

4. Етикетът за управление на зависимостите

За да управляваме различна версия на зависимост, предоставена от началния родител, можем да декларираме изрично зависимостта и нейната версия в секцията dependencyManagement :

   org.springframework.boot spring-boot-starter-data-jpa 2.2.5.RELEASE   

5. Свойства

За да променим стойността на което и да е свойство, дефинирано в началния родител, можем да го декларираме отново в нашия раздел за свойства.

В пролетно-обувка стартер родител чрез своите майки пролетните ботуши зависимости употреби имоти за конфигуриране на всички версии зависимостите Java версия и Maven плъгин версии.

Поради това ни улеснява да контролираме тези конфигурации, като просто сменим съответното свойство.

Ако искаме да променим версията на която и да е зависимост, която искаме да извлечем от началния родител, можем да добавим зависимостта в маркера на зависимостта и директно да конфигурираме нейното свойство:

 4.11 

6. Замяна на други имоти

Можем да използваме свойства и за други конфигурации като управление на версии на приставки или дори за някои базови конфигурации като управление на версията на Java, кодиране на източника.

Просто трябва да декларираме собствеността с нова стойност.

Например, за да променим версията на Java, можем да я посочим в свойството java.version :

 1.8 

7. Пролетен стартиращ проект без начален родител

Понякога имаме персонализиран родител на Maven. Или може да предпочетем да декларираме ръчно всички наши конфигурации на Maven.

В този случай можем да изберем да не използваме проекта spring-boot-starter-parent . Но все пак можем да се възползваме от неговото дърво на зависимости, като добавим зависимости spring-boot-зависимости в нашия проект в обхвата на импортиране .

Нека обясним това с прост пример, в който искаме да използваме друг родител, различен от началния родител:

 com.baeldung spring-boot-parent 1.0.0-SNAPSHOT 

Тук използвахме родителски модули различен проект като нашата родителска зависимост.

Сега, в този случай, все още можем да получим същите предимства от управлението на зависимостите, като го добавим в обхвата на импортиране и типа pom :

   org.springframework.boot spring-boot-dependencies 2.2.6.RELEASE pom import   

Освен това можем да извлечем всяка зависимост, като просто я декларираме в зависимости, както направихме в предишните примери. Не са необходими номера на версиите за тези зависимости.

8. Обобщение

В този урок сме дали общ преглед на spring-boot-starter-parent и ползата от добавянето му като родител във всеки дъщерен проект.

След това научихме как да управляваме зависимостите. Можем да заменим зависимостите в dependencyManagement или чрез свойства.

Изходният код за фрагменти, използвани в този урок, е достъпен на Github, като единият използва началния родител, а другият потребителски родител.