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

Управление зависимостями SpringBoot

Spring Boot автоматически управляет зависимостями и конфигурацией. Каждая версия Spring Boot предоставляет список поддерживаемых зависимостей. Список зависимостей можно найти в Maven Используемые вместе Список материаловЧасть (зависимости spring-boot). Таким образом, мы не должны указывать версии зависимостей в конфигурации. Spring Boot управляет ими самостоятельно. При обновлении версии Spring Boot все зависимости обновляются автоматически и一致енно.

Преимущества управления зависимостями

Обеспечивает концентрацию информации о зависимостях в одном месте, что помогает при переходе от одной версии к другой. Это предотвращает несоответствие различных версий библиотек Spring Boot. Нам нужно только указать имя библиотеки и версию. Это очень полезно в многоуровневых проектах.

Внимание: Если необходимо, Spring Boot может также изменить версию зависимостей.

Maven система управления зависимостями

Maven проект inherits from spring-boot-starter-parent наследует следующие функции:

по умолчанию Версия Java компилятора UTF-8 Кодировка источника Она наследует одну из зависимостей из spring-boot-dependency-pom Dependency Section Dependency Section  Метка. Она управляет версиями общих зависимостей. Для этой зависимости она будет игнорировать Зависимости, наследованные из POM spring-boot-dependencies Интеллектуальныйфильтрация ресурсов Интеллектуальныйplugin configuration

наследование Starter Parent

Во время конфигурации проекта, следующие spring-boot-starter-parent Будет автоматически наследоваться.

<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>
Внимание: В указанных зависимостях мы указали только версию Spring Boot. Если нужно добавить другие стартеры, просто удалитеМетка. Таким же образом, мы можем также заменить личные зависимости, изменяя свойства проекта.

Например, если нужно добавить еще одну зависимость, такую же, как инъектированный artifact, то эту зависимость нужно инъектировать снова <properties>для замены

Метка для изменения версии Java

Мы также можем использовать <java.version>Метка для изменения версии Java.

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

Добавить плагин Spring Boot Maven

Мы также можем добавить pom.xml в файле Добавить Maven плагин它 будет упаковывать проект в runnable jar в файле.

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

Spring Boot без родительского POM

Если мы не хотим использовать spring-boot-starter-parent Если мы хотим использовать преимущества управления зависимостями, но не зависимостей, мы можем использовать  Метка, как показано ниже:

Внимание: Оно не поддерживает управление плагинами.
<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>

Эти зависимости не позволяют заменить. Для замены нужно добавить в проект  ввести запись перед spring-boot-dependencies в маркере.

Например, чтобы обновить другую spring-data-releasetrain Добавьте следующие зависимости в файл pom.xml.

<dependencyManagement>
<dependencies>
<!--Override 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>