在创建使用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. bs4爬取的时候有两个标签相同_python爬虫初体验,爬取中国最好大学网大学名次...
  2. AtCoder Grand Contest 008: Contiguous Repainting(思维)
  3. P7115-[NOIP2020]移球游戏【构造】
  4. 404页面自动跳转javascript
  5. MYSQL 自定义排序
  6. react 翻书效果_react实现页面切换动画效果
  7. PJSIP集成G729
  8. android 电视安装apk文件损坏,安装电视软件时提示解析包出现问题怎么破?
  9. java吸血鬼数字_[求助]吸血鬼数字
  10. C#登录拍拍,总是提示输入有误
  11. HTML5开发系列(4) 之 样式表的三种类型
  12. 如何修改安卓日志缓冲区大小?
  13. 短视频发展高峰论坛召开 爱奇艺号开放打通短视频创作、分发、货币化中枢
  14. centos7 使用 docker 部署 gitlab + gitlab-runner
  15. #春Phone计划#51CTO沙龙广州站活动
  16. 苹果加急审核App的办法
  17. SATA2 硬盘 系统盘 显卡黑屏_黑苹果硬件选购指南主板amp;硬盘amp;WI
  18. 计算机进行注销后会进入什么状态,请问电脑里注销是什么意思呀
  19. SMOS土壤水分数据下载教程
  20. SequoiaDB+Spark搭建医院临床知识库系统

热门文章

  1. mybatisPlus的分页查询
  2. php批量评价,彻底杜绝 WordPress 批量垃圾评论留言的三步曲
  3. java反射机制的简单使用和优缺点
  4. 关于 tomcat启动后无法访问的问题(localhost:8080 (or your port specified))
  5. XML——文档类型定义(DTD-Document Type Definition)
  6. maven配置junit5_JUnit 5和Selenium –改善项目配置
  7. junit5和junit4_JUnit 5 –基础
  8. 方法参数泛型_无参数泛型方法反模式
  9. Elasticsearch SQL
  10. react 消息队列_具有AkkaReact流的React队列