在创建使用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获得所需的依赖关系:

  1. 我们可以使用Spring IO Platform管理依赖关系。
  2. 我们可以“手动”管理依赖项。

让我们来看看这两个选项。

使用Spring.IO平台

如果使用Spring IO Platform,则需要遵循以下步骤:

  1. 启用S​​pring IO Platform。
  2. 在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>

启用S​​pring 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

Spring Data JPA教程:获取所需的依赖关系相关推荐

  1. Spring Data JPA教程:简介

    创建使用Java Persistence API的存储库是一个繁琐的过程,需要大量时间,并且需要大量样板代码. 通过执行以下步骤,我们可以消除一些样板代码: 创建一个抽象的基础存储库类,该类为实体提供 ...

  2. Spring Data JPA教程第一部分:配置

    Spring Data JPA是一个旨在简化基于JPA的存储库的创建并减少与数据库通信所需的代码量的项目. 在我的工作和个人爱好项目中,我已经使用了一段时间,确实使事情变得更加简单和整洁. 现在是时候 ...

  3. Spring Data JPA教程,第一部分: Configuration(翻译)

    Spring Data JPA项目旨在简化基于仓库的JPA的创建并减少与数据库交互的所需的代码量.本人在自己的工作和个人爱好项目中已经使用一段时间,它却是是事情如此简单和清洗,现在是时候与你分享我的知 ...

  4. Spring Data JPA教程

    在Java类或对象与关系数据库之间管理数据是一项非常繁琐且棘手的任务. DAO层通常包含许多样板代码,应简化这些样板代码,以减少代码行数并使代码可重复使用. 在本教程中,我们将讨论Spring数据的J ...

  5. Spring Data JPA 教程(翻译)

    写那些数据挖掘之类的博文 写的比较累了,现在翻译一下关于spring data jpa的文章,觉得轻松多了. 翻译正文: 你有木有注意到,使用Java持久化的API的数据访问代码包含了很多不必要的模式 ...

  6. Spring Data Solr教程:向所有存储库添加自定义方法

    如果我们在现实生活中的软件项目中使用Spring Data Solr,很可能我们迟早会遇到一个要求,该要求指出我们的应用程序必须能够与本地Solr服务器和SolrCloud进行通信 . 目前,满足此要 ...

  7. Spring Data Solr教程:配置

    在我的Spring Data Solr教程的上一部分中,我们了解到Solr提供了一个类似REST的HTTP API,该API可用于向Solr索引添加信息并针对索引数据执行查询. 问题在于,在开发环境中 ...

  8. Springboot整合Spring Data JPA

    1 Spring Data JPA 1.Spring Data JPA的概念 在介绍Spring Data JPA的时候,我们首先认识下Hibernate.Hibernate是数据访问解决技术的绝对霸 ...

  9. datav本地部署 java,Spring Boot对Spring Data JPA的自动配置

    一 点睛 Spring Boot对Spring Data JPA的自动配置放置在如下路径: 二 源码分析 1 JpaRepositoriesAutoConfiguration类分析 @Configur ...

最新文章

  1. JAVA Functions in XI(转)
  2. 三国时期,假如曹操是一名程序员,历史会发生什么?--文末送书
  3. 让Redis在你的系统中发挥更大作用
  4. 使用idea对生产环境的JAVA应用进行远程调试
  5. 挖矿的大佬们长点心吧
  6. 使用极光推送实现分组发送和服务端集成
  7. LeetCode Algorithm 剑指 Offer 25. 合并两个排序的链表
  8. Linux线程(六)
  9. python 多数据输出到txt_python-BeautifulSoup输出到.txt文件
  10. CentOS如何挂载硬盘
  11. mysql 单机双实列_{ mysql } MySQL单机多实例及主从复制
  12. lamuda表达式 list移除空元素_Lambda 表达式遍历集合时用remove方法删除list集合中满足条件的元素问题...
  13. 位置变量示例_shell脚本
  14. GAMES101投影矩阵推导详解和分析
  15. windows 批量创建文件夹
  16. (附源码)springboot教材订购系统的开发毕业设计081419
  17. 视频监控技术的发展对于市场的影响越来越大
  18. 作为数字化转型的布道者,疫情后我们还需要坚守什么?
  19. Pulp Fiction (低俗小说)
  20. 各种HDR标准的技术细节,读这一篇就够了

热门文章

  1. sql server 2012远程链接的方法及步骤
  2. MyBatis中Mapper代理方式
  3. React中判断已完成的个数
  4. 2017蓝桥杯省赛---java---B---1(购物单)
  5. 微信消息提醒与消息数字提示之BadgeView
  6. HashMap的实现原理及其特点
  7. jdbc java_Java中使用JDBC
  8. python isodd奇偶_Python这些位运算的妙用,绝对让你大开眼界
  9. 转:Tomcat启动失败 提示Server Tomcat v7.0 Server at localhost failed to start.六种解决方法
  10. jvm(6)-Class字节码文件结构总结