Spring Boot依赖管理详细介绍

本文概述

  • 依赖管理的优点
  • Maven依赖管理系统
Spring Boot自动管理依赖关系和配置。每个Spring Boot版本都提供了它所支持的依赖项列表。依赖关系列表是可与Maven一起使用的物料清单(spring-boot-dependencies)的一部分。因此, 我们无需在配置中指定依赖项的版本。 Spring Boot自行管理。当我们更新Spring Boot版本时, Spring Boot将以一致的方式自动升级所有依赖项。
依赖管理的优点
  • 通过在一处指定Spring Boot版本, 它提供了依赖性信息的集中化。当我们从一个版本切换到另一个版本时, 它会有所帮助。
  • 它避免了不同版本的Spring Boot库的不匹配。
  • 我们只需要写一个库名称并指定版本。在多模块项目中很有用。
注意:如果需要, Spring Boot还允许覆盖依赖项版本。Maven依赖管理系统Maven项目从spring-boot-starter-parent继承了以下功能:
  • 默认的Java编译器版本
  • UTF-8源编码
  • 它从spring-boot-dependency-pom继承了Dependency Section。它管理常见依赖项的版本。它忽略该依赖项的< version> 标记。
  • 依赖关系, 继承自spring-boot-dependencies POM
  • 明智的资源过滤
  • 明智的插件配置
继承初学者父母
在配置项目时, 以下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版本。如果要添加其他启动器, 只需删除< version> 标记。同样, 我们也可以通过覆盖项目中的属性来覆盖个人依赖性。例如, 如果我们要添加与已经注入的相同工件的另一个依赖关系, 请将该依赖关系再次注入< properties> 标记内以覆盖先前的依赖关系。
更改Java版本
我们还可以使用< java.version> 标记来更改Java版本。
< properties> < java.version> 1.8< /java.version> < /properties>

添加Spring Boot Maven插件
我们还可以在pom.xml文件中添加Maven插件。它将项目包装到可执行的jar文件中。
< build> < plugins> < plugin> < groupId> org.springframework.boot< /groupId> < artifactId> spring-boot-maven-plugin< /artifactId> < /plugin> < /plugins> < /build>

没有父POM的Spring Boot
如果我们不想使用spring-boot starter-parent依赖关系, 但仍然想利用依赖关系管理的优势, 则可以使用< scope> 标记, 如下所示:
注意:它不维护插件管理。
< 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条目之前的项目的< dependencyManagement> 标记内添加一个条目。
【Spring Boot依赖管理详细介绍】例如, 要升级另一个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>

    推荐阅读