在创建使用Spring Data JPA的应用程序之前,我们需要获取所需的依赖关系。
这篇博客文章标识了必需的组件,并描述了如何使用Maven获得它们。
让我们开始吧。
其他阅读:如果您不熟悉Spring Data JPA,则应该阅读以下博客文章,然后再继续阅读此博客文章: Spring Data JPA教程:简介提供了Spring Data JPA的快速介绍,并概述了Spring Data。存储库接口。
我们需要什么组件?
如果要实现使用Spring Data JPA的持久层,则需要以下组件:
- JDBC驱动程序提供了JDBC API的数据库特定实现。 我们使用H2内存数据库,因为它使我们的示例应用程序更易于运行。
- 数据源提供了到我们应用程序的数据库连接。 我们使用HikariCP数据源,因为它是地球上最快的数据源。
- JPA Provider实现Java Persistence API。 我们使用Hibernate是因为它是最常见的JPA提供程序。
- Spring Data JPA将使用过的JPA提供程序隐藏在其存储库抽象的后面。
让我们继续前进,了解如何使用Maven获得所需的依赖关系。
使用Maven获取所需的依赖关系
通过使用以下选项之一,我们可以使用Maven获得所需的依赖关系:
- 我们可以使用Spring IO Platform管理依赖关系。
- 我们可以“手动”管理依赖项。
让我们来看看这两个选项。
使用Spring.IO平台
如果使用Spring IO Platform,则需要遵循以下步骤:
- 启用Spring IO Platform。
- 在pom.xml文件中配置所需的依赖项。
首先 ,我们可以通过将以下XML添加到我们的POM文件中来启用Spring IO Platform:
<dependencyManagement><dependencies><dependency><groupId>io.spring.platform</groupId><artifactId>platform-bom</artifactId><version>1.1.0.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>
启用Spring IO平台后,我们不必担心依赖关系版本,因为Spring IO Platform会解决这个问题。 这意味着我们可以通过将以下XML添加到POM文件的“ 依赖关系”部分中来获取所需的依赖关系:
<!-- Database (H2) -->
<dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId>
</dependency><!-- DataSource (HikariCP) -->
<dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId>
</dependency><!-- JPA Provider (Hibernate) -->
<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-entitymanager</artifactId>
</dependency><!-- Spring Data JPA -->
<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-jpa</artifactId>
</dependency>
我们的示例应用程序还具有其他一些依赖性。 您可以通过阅读pom.xml文件来获取依赖关系的完整列表。
补充阅读:
- Spring IO平台
- Spring IO平台参考指南
手动管理我们的依存关系
如果我们“手动”管理依赖项,则需要指定所有依赖项的版本号。 我们可以通过将以下依赖项声明添加到pom.xml文件的依赖项部分中来实现此目的:
<!-- Database (H2) -->
<dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><version>1.4.182</version>
</dependency><!-- DataSource (HikariCP) -->
<dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId><version>2.2.5</version>
</dependency><!-- JPA Provider (Hibernate) -->
<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-entitymanager</artifactId><version>4.3.7.Final</version>
</dependency><!-- Spring Data JPA -->
<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-jpa</artifactId><version>1.7.1.RELEASE</version>
</dependency>
我使用了Spring IO平台提供的依赖版本 。 如果要使用较新的版本,可以从mvnrepository.com找到最新的可用版本。
我猜最明显的问题是:我们应该使用哪个选项?
管理我们的依存关系的最佳方法是什么?
如果要开始一个新项目,则应使用Spring IO Platform,因为
- 我们不必担心依赖版本。 例如,我们不必担心不兼容的问题,因为我们知道我们的依赖项可以像魅力一样协同工作。
- 我们总是可以覆盖Spring.IO平台提供的依赖版本。
另一方面,如果我们要将Spring Data JPA添加到现有项目中,则手动管理我们的依赖项通常比较明智,因为它需要较少的工作。
让我们继续并总结从这篇博客文章中学到的知识。
摘要
这篇博客文章教会了我们四件事:
- 如果要实现使用Spring Data JPA的持久层,则需要以下组件:JDBC驱动程序,数据源,JPA提供程序和Spring Data JPA。
- 我们可以通过使用Spring IO平台或手动管理我们的依赖关系来获得所需的依赖关系。
- 如果我们要开始一个新项目,则应该使用Spring IO平台,因为它可以确保我们的依赖项像一个魅力一样协同工作。
- 如果我们要将Spring Data JPA添加到现有项目中,则应该手动管理我们的依赖项,因为它需要较少的工作。
本教程的下一部分描述了如何配置Spring Data JPA 。
- PS:您可以从Github获取此博客文章的示例应用程序 。
翻译自: https://www.javacodegeeks.com/2014/12/spring-data-jpa-tutorial-getting-the-required-dependencies.html