Spring JPA 依赖配置
翻译原文:Dependencies
由于不同的Spring Data
模块的发布日期各有不同,其大多数的主要版本号和次要版本号都不尽相同(${name}-${release}
就是主要版本号和次要版本号,例如 Neumann-SR3
)。查找和项目兼容版本的Spring Data
模块的最简单方式就是配置Spring Data Release Train BOM
(版本发行清单)附带定义的兼容版本。在Maven
项目中,你可以配置POM
文件中的<dependencyManagement />
来声明此依赖关系,如下:
例1:使用Spring Data release train BOM
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-releasetrain</artifactId>
<version>Neumann-SR3</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
最近的发行版本是Neumann-SR3
。此处发行版本用首字母进行排序,版本名称遵循如下格式:${name}-${release}
,其中release
可以是如下之一:
BUILD-SNAPSHOT
: Current snapshotsM1
,M2
, and so on: MilestonesRC1
,RC2
, and so on: Release candidatesRELEASE
: GA releaseSR1
,SR2
, and so on: Service releases
在我们的Spring Data
示例存储库中可以找到使用BOM的工作示例。有了它,您可以在<dependencies />
块中声明要使用的Spring Data
模块而无需标记版本,如下所示:
例2:声明Spring Data 模块版本
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
</dependency>
<dependencies>
附注
dependencyManagement
元素提供了一种管理依赖版本号的方式。在dependencyManagement
元素中声明所依赖的jar包的版本号等信息,那么所有子项目再次引入此依赖jar包时则无需显式的列出版本号。Maven会沿着父子层级向上寻找拥有dependencyManagement
元素的项目,然后使用它指定的版本号。
以上面的两个为例子,其效果等同于引入如下形式的配置。
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>Neumann-SR3</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependencies>
SpringBoot 项目配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
无需配置版本号,只需要导入这个依赖,可以自动匹配版本号。