12个很棒的Spring数据教程来启动您的数据项目

Spring Data的任务是为数据访问提供一个熟悉且一致的,基于Spring的编程模型,同时仍保留基础数据存储的特​​殊特征。

它使使用数据访问技术,关系和非关系数据库,map-reduce框架以及基于云的数据服务变得容易。 这是一个总括项目,其中包含许多特定于给定数据库的子项目。 这些项目是通过与这些令人兴奋的技术背后的许多公司和开发人员共同开发的。 ( 来源 )

在本文中,我们提供了Spring Data示例的汇编,可帮助您启动自己的项目。 我们涵盖了广泛的主题,从设置环境和创建基础项目到处理各种模块(例如JPA,MongoDB,Redis等)。 通过我们简单易懂的教程,您将能够在最短的时间内启动并运行自己的项目。

在此示例中,我们将演示如何配置Spring Framework以使用JPA和Hibernate作为JPA供应商与数据库进行通信。

使用Spring Data的好处是,它消除了许多样板代码,并提供了更清洁,更易读的DAO层实现。 此外,它还有助于使代码松散耦合,因此,在不同JPA供应商之间进行切换是配置问题。

在这里阅读文章的其余部分。

在前面的示例中,我们演示了如何使用Spring Data通过Spring连接到Relational / SQL数据库。 在此示例中,我们将看到如何使用Spring Data连接Gemfire。

Gemfire是一个高度可扩展,低延迟的内存中数据管理平台,它以键值形式存储数据。 数据可能会保留在磁盘上。 Gemfire提供了自己的一套数据管理工具– gfsh,一个命令行实用工具。

在这里阅读文章的其余部分。

在前面的示例中,我们演示了如何使用内存NoSQL数据库GemFire配置Spring Data。 因此,继续同一系列,在本示例中,我们将演示如何将Spring Data Application连接到基于列的NoSql数据库Apache Cassandra。

Cassandra是一个分布式数据库管理系统,可以通过跨多个数据中心的数据复制来处理大量数据,因此不会出现单点故障。

在这里阅读文章的其余部分。

在过去的几个示例中,我们一直在将Spring Data与NoSql数据库集成在一起。 在此示例中,我们将Spring数据与基于键值的NoSQL数据库Redis集成在一起。

通过公开存储库,Spring Data在执行查询的传统方式上提供了抽象级别。 这样,根据底层数据库,用户无需编写查询和调用特定方法。

Redis使用密钥存储数据结构来存储数据。 它可以用于存储复杂的数据结构,如列表,集合,哈希等,这就是为什么它也被称为数据结构服务器的原因。

在这里阅读文章的其余部分。

Spring徽标水平

在本教程中,我将向您展示如何通过使用Spring和MongoDB开发RESTful Web应用程序,而无需实现无聊的统一控制器。

对于RESTful应用程序,我们需要一个主要处理CRUD操作的api。 让我给你举个例子,以澄清我上面的句子的意思。 假设您有一个REST端点/ products,该端点可以执行与产品相关的操作,例如产品创建,产品更新,产品视图,产品删除或产品搜索。

在这里阅读文章的其余部分。

在此示例中,我们将演示如何将Spring数据与Apache Solr集成。

Solr是基于Apache Lucene库构建的搜索引擎。 它可以与HTTP API之类的REST进行通信,因此,无论调用Solr Server的应用程序中使用的是哪种底层编程语言,它都可以轻松地用作REST-ful Web服务使用。 但是,为了这个示例,我们将使用Java作为编程语言,并使用Spring Data作为框架。

在这里阅读文章的其余部分。

在此示例中,我们将演示如何将Spring Data与MongoDb连接。 MongoDb还是类似于Solr的基于文档的NoSql数据库,我们在上周进行了演示。

Spring Data MongoDb是Spring Data的模块,为MongoDb提供支持。 与本系列中演示的其他模块一样,该模块也提供了对派生查询(基于方法名称)和带注释查询的支持。

在这里阅读文章的其余部分。

弹簧数据徽标

在前面的几个示例中,我们演示了如何配置不同的spring数据模块以及它们对NoSql数据库的支持。 在此示例中,我将演示如何通过HTTP将CRUD存储库公开为REST Web服务。

我们将使用MySQL作为该项目的数据库。 但是,我们将在此处构建的应用程序将很大程度上独立于所使用的基础数据库技术。 这是由于Spring数据模块添加了抽象层。

在这里阅读文章的其余部分。

在这个例子中,我们将演示如何将基于图形的NoSql数据库Neo4J与Spring Data集成在一起。

Neo4j是使用Java和Scala开发的基于图形的开源NoSQL数据库。 像传统的关系数据库一样,Neo4J也支持ACID属性。 基于图的数据库可在用例中找到其用途,在这些用例中,重点主要放在领域实体之间的相互关系上,例如匹配,社交网络,路由。

在这里阅读文章的其余部分。

Elasticsearch是一个高度可扩展的开源,可用于数据存储,文本搜索和分析引擎。 每个ElasticSearch实例都称为一个节点,几个节点可以组合在一起组成一个集群。

在本文中,我们将看到如何使用将spring-data和elasticsearch集成在一起的spring-data-elasticsearch模块。

在这里阅读文章的其余部分。

Spring数据存储库抽象的目标是显着减少实现各种持久性存储的数据访问层所需的样板代码量。 如果我们尝试自己实现应用程序的数据访问层,那么最终将获得很多样板代码。

Spring提供的JPA模块不仅消除了样板代码,而且照顾了CRUD操作,为简单的查询提供了内置的实现,执行了分页和审计。 使用Spring Data JPA,我们可以编写我们自己的存储库接口,包括自定义finder方法,并且Spring将自动提供实现。 在本文中,我们将看到一些Spring Data JPA的示例。

在这里阅读文章的其余部分。

Couchbase是一个高度可扩展的基于文档的NoSQL数据库。 基于文档的NoSQL数据库在键值对的类映射概念上工作。 键是唯一可识别的属性,例如字符串,路径等,值是要保存的文档。

Spring Data CouchBase是Spring模块,可帮助我们与CouchBase Database Server集成。与本系列中演示的其他模块一样,该模块也提供了对派生查询(基于方法名称)和带注释查询的支持。

在这里阅读文章的其余部分。

请确保转发此消息,让您的社交粉丝知道!

翻译自: https://www.javacodegeeks.com/2016/03/12-awesome-spring-data-tutorials-to-kick-start-your-data-projects.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354510.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python多线程编程(3): 使用互斥锁同步线程

问题的提出 上一节的例子中,每个线程互相独立,相互之间没有任何关系。现在假设这样一个例子:有一个全局的计数num,每个线程获取这个全局的计数,根据num进行一些处理,然后将num加1。很容易写出这样的代码&am…

如何防止水印被恶意删除或者隐藏?

继上篇 Vue3 实现网页背景水印功能 我们了解了常见的网页水印功能是如何实现的,懂原理的都知道水印是通过在网页中添加代码绘制 DOM 元素覆盖在原有的网页上而来的,一旦你打开浏览器中的元素审查,可以通过删除元素或者在元素的样式上操作属性…

jmc线程转储_如何分析线程转储– IBM VM

jmc线程转储本文是我们的线程转储分析系列的第4部分,它将为您提供什么是IBM VM的JVM线程转储以及您将找到的不同线程和数据点的概述。 您将看到和学习​​到,IBM VM Thread Dump格式是不同的,但是提供了更多现成的故障排除数据。 在这一点上&…

java lock

多线程访问同一个变量,不进行同步,会造成结果不一致。这里解决方案有很多,使用原子变量。加锁同步,使用synchronized同步。下面是一个lock demo,后面会分析lock实现原理。lock使用的是公平锁还是非公平锁等 import jav…

Java 8:使用交替接口公开的类型安全地图生成器

动态展示您的课程 当我是Java新手时,我记得当时想过应该有一种方法可以删除或隐藏我不想公开的类中的方法。 就像用private方法或类似方法覆盖public方法一样(哪种情况是不可能的,也不应该是不可能的)。 显然,今天&…

nodejs面试题

1、为什么用Nodejs,它有哪些缺点? 事件驱动,通过闭包很容易实现客户端的生命活期。不用担心多线程,锁,并行计算的问题V8引擎速度非常快对于游戏来说,写一遍游戏逻辑代码,前端后端通用当然Nodejs也有一些缺点…

sts-bundle的使用_使用WS-Trust / STS采样器扩展JMeter

sts-bundle的使用JMeter没有对WS-Security或WS-Trust的任何内置支持,这使我为JMeter开发了此STS采样器–可以在负载测试STS时使任何人的生活变得更好。 首先,您需要拥有Apache JMeter发行版。 我正在使用v2.7。 然后,您可以从此处下载sts.sam…

001_jdk配置

配置JAVA_HOME,CLASSPATH,PATH 其中JAVA_HOME必须的 JAVA_HOMEE:\java\jdk1.8.0_77 CLASSPATH(告诉java程序运行时,你的类或者类库在哪里) .; E:\java\jdk1.8.0_77\lib\dt.jar;E:\java\jdk1.8.0_77\lib\tools.jar;E:\java\jdk1.8.0_77\jre\lib\rt.jar 改成变量 .;%J…

Spring MVC 4快速入门Maven原型得到了改进–更多Java 8功能

对于所有有兴趣在没有Spring Boot的情况下快速引导Spring 4应用程序的开发人员,请检查刚刚更新的我的Spring MVC 4 Quickstart Maven原型。 原型已经将Java 8用作目标平台已有一段时间了,但是不支持特定的Java 8功能。 最近的更改带来了Thymeleaf&#x…

python -- join()

python -- join()pythonjoinos月似当时,人似当时否?总 在 python 中,一共有两个 join 方法,一个是 str.join(),另一个是 os.path.join() ,这里只了解前一种 str.join(iterable) 官方文档 Return a string which is the…

easymock教程_EasyMock教程–入门

easymock教程在本文中,我将向您展示EasyMock是什么,以及如何使用它来测试Java应用程序。 为此,我将创建一个简单的Portfolio应用程序,并使用JUnit&EasyMock库对其进行测试。 在开始之前,让我们首先了解使用…

python 函数、面向对象

一、函数 1、定义个函数,可以对输入的数据进行排序, 通过参数来决定是正向排序还是反向排序。 number input(请输入一串数字:) number_list list(number) def sort_number(*args, s0): if s 0: number_map map(int,args)result sorted…

Spark数据倾斜解决方案(转)

本文转发自技术世界,原文链接 http://www.jasongj.com/spark/skew/ Spark性能优化之道——解决Spark数据倾斜(Data Skew)的N种姿势 发表于 2017-02-28 | 更新于 2017-10-17 | 本文结合实例详细阐明了Spark数据倾斜的几种场景以及对应的解…

JavaParser入门:以编程方式分析Java代码

我最喜欢的事情之一是解析代码并对其执行自动操作。 因此,我开始为JavaParser做出贡献,并创建了两个相关项目: java-symbol-solver和Effectivejava 。 作为JavaParser的贡献者,我反复阅读了一些非常类似的问题,这些问…

python Django基本介绍

创建Django项目并运行 实验环境: Ubuntu 16.04下安装好Anaconda3 Windows下安装好PyCharm 实验步骤 一、创建django工程 在Ubuntu 16.04下执行下面的命令。 (1)创建一个python3的虚拟环境(如果已经创建,忽略此步&…

Android 热补丁动态修复框架小结

Android 热补丁动态修复框架小结转载于:https://www.cnblogs.com/zhujiabin/p/7923233.html

C语言中关于结构体的理解

在c语言中我们如果需要去表示一个学生的特征,例如名字年龄成绩,这些信息我们就需要用到结构体来描述了。 struct stu{char name[20]; //姓名int age; //年龄float score; //成绩 }; struct(结构体):是由一系列具有相同类型…

GoldenGate Logdump基本使用

Logdump是GoldenGate复制软件中附带的一个工具软件,在OGG的目录下可以找到。这个工具主要用于分析OGG生成的队列文件,查找记录、统计队列文件中的数据等。 在OGG安装目录下执行logdump.exe or ./logdump即可进入命令行。 开始查找记录之前,先…

js 里面的键盘事件对应的键码

js 里面的键盘事件经常用到,所以收集了键盘事件对应的键码来分享下: keyCode 8 BackSpace BackSpace keyCode 9 Tab Tab keyCode 12 Clear keyCode 13 Enter keyCode 16 Shift_L keyCode 17 Control_L keyCode 18 Alt_L keyCode 19 Pause keyCo…

.bam.bai的意义_业务活动监视器(BAM)2.0带来的革命

.bam.bai的意义生产兼具精益和企业价值的中间件是一项艰巨的工作。 它要么不存在,要么需要创新的思维(很多),并且需要在实现中反复进行。 业务风险很大,但是如果您做对了,它就会使您领先于其他任何公司。 这…