English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SpringBoot-Abhängigkeitsverwaltung

Spring Boot verwaltet automatisch Abhängigkeiten und Konfigurationen. Jede Spring Boot-Version bietet eine Liste der unterstützten Abhängigkeiten. Die Abhängigkeitsliste kann mit Maven Gemeinsam genutzte Materialliste(Teil der Spring Boot-Abhängigkeiten). Daher müssen wir die Version der Abhängigkeiten nicht in der Konfiguration angeben. Spring Boot verwaltet dies selbst. Wenn wir die Spring Boot-Version aktualisieren, aktualisiert Spring Boot alle Abhängigkeiten auf einheitliche Weise automatisch.

Vorteile der Abhängigkeitsverwaltung

Durch die Angabe einer Spring Boot-Version an einem Ort wird eine zentrale Bereitstellung von Abhängigkeitsinformationen ermöglicht. Es hilft, wenn wir von einer Version zur anderen wechseln. Es vermeidet Inkompatibilitäten zwischen verschiedenen Versionen der Spring Boot-Bibliotheken. Wir müssen nur einen Bibliotheksnamen und die Version angeben. In Multimodulprojekten sehr nützlich.

Beachten Sie: Wenn erforderlich, kann Spring Boot auch die Versionsnummern der Abhängigkeiten überschreiben.

Maven Dependency Management System

Maven-Projekte von spring-boot-starter-parent erbt die folgenden Funktionen:

Standard Java Compiler Version UTF-8 Quellcode es von spring-boot-dependency-pom erbt eine Dependency Section .Es verwaltet Versionen häufiger Abhängigkeiten. Für dieses Abhängigkeit, ignoriert es  Tag. von spring-boot-dependencies POM-geerbte Abhängigkeiten intelligenteresource filtering intelligenteplugin configuration

vererben Starter Parent

Bei der Konfiguration des Projekts, die folgenden spring-boot-starter-parent wird automatisch geerbt.

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.BUILD-SNAPSHOT</version>      <!-- lookup parent from repository -->
<relativePath/> 
</parent>
Beachten Sie: In den oben genannten Abhängigkeiten haben wir nur die Version von Spring Boot angegeben. Wenn Sie andere Starter hinzufügen möchten, löschen SieMarken. Ebenso können wir durch das Überschreiben der Eigenschaften im Projekt die persönlichen Abhängigkeiten überschreiben.

Zum Beispiel, wenn Sie eine weitere Abhängigkeit hinzufügen möchten, die mit dem injizierten Artefakt identisch ist, injizieren Sie die Abhängigkeit erneut <properties>um zu überschreiben

Marken verwenden, um die Java-Version zu ändern

Wir können auch <java.version>Marken, um die Java-Version zu ändern.

<properties>  
<java.version>1.8</java.version>  
</properties>

Fügen Sie das Spring Boot Maven-Plugin hinzu

Wir können auch in pom.xml Datei hinzufügen Fügen Sie das Maven-Plugin hinzu.Es packt das Projekt in ein ausführbares jar in der Datei.

<build>  
<plugins>  
<plugin>  
<groupId>org.springframework.boot</groupId>  
<artifactId>spring-boot-maven-plugin</artifactId>  
</plugin>  
</plugins>  
</build>

einen Spring Boot ohne Parent-POM

Wenn wir spring-boot starter-parent Wenn wir den Vorteil der Abhängigkeitsverwaltung nutzen möchten, können wir  Marken, wie folgt:

Beachten Sie: Es unterhält keine Plugin-Verwaltung.
<dependencyManagement>
<dependencies>
<dependency>-- import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

Die folgenden Abhängigkeiten können nicht überschrieben werden. Um eine Überschreibung zu erreichen, müssen wir im Projekt  Markierung im spring-boot-dependencies-Eintrag hinzuzufügen, der vor einem anderen

Zum Beispiel, um eine andere spring-data-releasetrain ,Fügen Sie die folgenden Abhängigkeiten in die Datei pom.xml hinzu.

<dependencyManagement>
<dependencies>
<!--Übersteuern Sie Spring Data Release Train-->
<dependency>
<groupId>org.springframework.data/groupId>
<artifactId>spring-data-releasetrain/artifactId>
<version>Fowler-SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>