Der Spring Boot Starter Parent

1. Einleitung

In diesem Tutorial erfahren Sie mehr über Spring-Boot-Starter-Parent und wie wir davon für ein besseres Abhängigkeitsmanagement, Standardkonfigurationen für Plugins und die schnelle Erstellung unserer Spring Boot- Anwendungen profitieren können .

Wir werden auch sehen, wie wir die Versionen der vorhandenen Abhängigkeiten und Eigenschaften überschreiben können, die von Starter-Parent bereitgestellt werden .

2. Spring Boot Starter Parent

Das übergeordnete Spring-Boot-Starter- Projekt ist ein spezielles Starter-Projekt, das Standardkonfigurationen für unsere Anwendung und einen vollständigen Abhängigkeitsbaum zum schnellen Erstellen unseres Spring Boot- Projekts bereitstellt .

Es bietet auch eine Standardkonfiguration für Maven-Plugins wie das Maven-Fail-Safe-Plugin , das Maven-Jar-Plugin , das Maven-Surefire-Plugin und das Maven-War-Plugin .

Darüber hinaus erbt es das Abhängigkeitsmanagement von Spring-Boot-Abhängigkeiten, die das übergeordnete Element des übergeordneten Boot-Boot-Starter-übergeordneten Elements sind .

Wir können es in unserem Projekt verwenden, indem wir es als übergeordnetes Element in die pom.xml unseres Projekts einfügen :

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

Wir können immer die neueste Version von Spring-Boot-Starter-Parent von Maven Central erhalten.

3. Verwalten von Abhängigkeiten

Sobald wir das übergeordnete Starter-Element in unserem Projekt deklariert haben, können wir jede Abhängigkeit vom übergeordneten Element abrufen, indem wir sie einfach in unserem Abhängigkeits- Tag deklarieren .

Außerdem müssen wir keine Versionen der Abhängigkeiten definieren. Maven lädt JAR-Dateien herunter, die auf der Version basieren, die für das übergeordnete Starter-Tag im übergeordneten Tag definiert ist.

Wenn wir beispielsweise ein Webprojekt erstellen, können wir Spring-Boot-Starter-Web direkt hinzufügen , und wir müssen die Version nicht angeben:

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

4. Das Abhängigkeitsverwaltungs-Tag

Um eine andere Version einer vom übergeordneten Starter bereitgestellten Abhängigkeit zu verwalten, können Sie die Abhängigkeit und ihre Version explizit im Abschnitt dependencyManagement deklarieren :

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

5. Eigenschaften

Um den Wert einer im übergeordneten Starter definierten Eigenschaft zu ändern, können Sie ihn in unserem Eigenschaftenabschnitt erneut deklarieren.

Das übergeordnete Spring-Boot-Starter-Parent verwendet über seine übergeordneten Spring-Boot-Abhängigkeiten Eigenschaften zum Konfigurieren aller Abhängigkeitsversionen, der Java-Version und der Maven-Plugin-Versionen.

Daher ist es für uns einfach, diese Konfigurationen durch einfaches Ändern der entsprechenden Eigenschaft zu steuern.

Wenn wir die Version einer Abhängigkeit ändern möchten, die wir vom übergeordneten Starter abrufen möchten, können wir die Abhängigkeit im Abhängigkeitstag hinzufügen und ihre Eigenschaft direkt konfigurieren:

 4.11 

6. Andere Eigenschaftsüberschreibungen

Wir können Eigenschaften auch für andere Konfigurationen verwenden, z. B. für die Verwaltung von Plugin-Versionen oder sogar für einige Basiskonfigurationen wie die Verwaltung der Java-Version und die Quellcodierung.

Wir müssen die Eigenschaft nur mit einem neuen Wert neu deklarieren.

Um beispielsweise die Java-Version zu ändern, können Sie dies in der Eigenschaft java.version angeben :

 1.8 

7. Spring Boot-Projekt ohne Starter-Eltern

Manchmal haben wir einen benutzerdefinierten Maven-Elternteil. Oder wir möchten alle unsere Maven-Konfigurationen lieber manuell deklarieren.

In diesem Fall können wir das Spring-Boot-Starter-Parent- Projekt nicht verwenden. Wir können jedoch weiterhin von seinem Abhängigkeitsbaum profitieren, indem wir in unserem Projekt im Importbereich eine Abhängigkeit von Spring-Boot-Abhängigkeiten hinzufügen .

Lassen Sie uns dies anhand eines einfachen Beispiels erklären, in dem wir ein anderes Elternteil als das Starter-Elternteil verwenden möchten:

 com.baeldung spring-boot-parent 1.0.0-SNAPSHOT 

Hier haben wir gebrauchte Eltern-Module ein anderes Projekt als unsere Eltern Abhängigkeit.

In diesem Fall können wir immer noch die gleichen Vorteile des Abhängigkeitsmanagements erzielen, indem wir es im Importbereich und im POM- Typ hinzufügen :

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

Darüber hinaus können wir jede Abhängigkeit einbeziehen, indem wir sie wie in unseren vorherigen Beispielen in Abhängigkeiten deklarieren . Für diese Abhängigkeiten werden keine Versionsnummern benötigt.

8. Zusammenfassung

In diesem Tutorial haben wir einen Überblick über Spring-Boot-Starter-Parent und den Vorteil gegeben, es als Parent in ein untergeordnetes Projekt einzufügen.

Als Nächstes haben wir gelernt, wie Abhängigkeiten verwaltet werden. Wir können Abhängigkeiten in dependencyManagement oder über Eigenschaften überschreiben .

Der Quellcode für in diesem Lernprogramm verwendete Snippets ist auf Github verfügbar, wobei einer das übergeordnete Starterelement und der andere ein benutzerdefiniertes übergeordnetes Element verwendet.