在创建使用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. vector与结构体联合使用 在磁盘中生成.txt 文件
  2. css 控制li点与文字的距离
  3. matlab虚拟力,31无线传感网络布局优化的虚拟力导向粒子群算法MATLAB源代码
  4. QDoc文件结构documentstructure
  5. 使用VisualSVN Server自动发布站点
  6. BugFree2.1.3升级到BugFree3.0.2
  7. fstab各项参数及ls-l 长格式各项信息
  8. java中编码问题_[干货预警]一次搞懂Java中的编码问题
  9. ios mysql注册登录界面_iOS+PHP实现登录功能
  10. 继续教育c语言试题及答案,2006--2007学年西北师范大学继续教育学院《C语言程序设计》试卷B...
  11. jquery利用appendTo动态创建元素
  12. NoClassDefFoundError: javax/xml/bind/JAXBException-springboot
  13. 磁力计椭球拟合使用篇 IMU 加速度、电子罗盘校准
  14. 彻底格式化系统启动U盘(基于win10)
  15. DevExpress 设计Ribbon界面
  16. 猫眼电影排行榜前100爬取案例学习笔记
  17. 【2022 谷歌开发者大会】名额有限,快来,带你体验谷歌的工程师文化
  18. 使用python打印九九乘法表
  19. 玩转外贸LinkedIn必备的三大特质,以及突破六度人脉技巧
  20. 背靠Mobileye/降价抢市场,经纬恒润闯关IPO背后“危机四伏”

热门文章

  1. Myeclipse 创建web项目的一些基本操作
  2. hashmap应用场景_工作中常用到的Java集合有哪些?应用场景是什么?
  3. annotations_Spring Annotations我从来没有机会使用第2部分:@ConfigurationProperties
  4. jax-rs jax-ws_对状态代码使用JAX-RS异常
  5. platform_SpringOne Platform 2016回顾
  6. 什么是openstack_您在OpenStack Summit 2016上错过了什么
  7. 抽象工厂和工厂方法示例_抽象工厂设计模式示例
  8. java编写应用程序_为您的Java应用程序编写数据驱动的测试
  9. latex中算法命令_比较Java 8中的命令式和功能性算法
  10. java转换为c#_将25k行C#转换为Java的经验教训