Spring Data 概览

Spring Data的使命是为数据访问提供熟悉且一致的基于Spring的编程模型,同时仍保留底层数据存储的特殊特性。

它使数据访问技术,关系数据库和非关系数据库,map-reduce框架和基于云的数据服务变得简单易用。 这是一个伞形项目,其中包含许多特定于给定数据库的子项目。 这些项目是通过与这些激动人心的技术背后的许多公司和开发人员合作开发的。

-----------

星云解读:

众所周知,数据库大体上可以分为关系型数据库和非关系型数据库.

数据库种类繁多,为了建立一个统一访问这些数据库的方式,Spring Data 项目应运而生.

-----------

功能

  • 强大的存储库和自定义对象映射抽象
  • 从存储库方法名称派生动态查询
  • 实现域基类提供基本属性
  • 支持透明审核(创建,最后更改)
  • 可以集成自定义存储库代码
  • 通过JavaConfig和自定义XML命名空间轻松实现Spring集成
  • 与Spring MVC控制器的高级集成
  • 跨存储持久性的实验支持

星云解读:

-----------

需要将通用的数据库基本的增删改查进行抽象封装并建立映射

需要和Spring 完美兼容

需要支持Spring MVC

-----------

主要模块

  • Spring Data Common:  Spring 核心支撑每个Spring Data模块。
  • Spring Data JDBC:  对JDBC 提供Spring Data repository支持
  • Spring Data JDBC Ext: 支持对标准JDBC的数据库特定扩展,包括对Oracle RAC快速连接故障转移的支持,AQ JMS支持以及对使用高级数据类型的支持。
  • Spring Data JPA:  对JPA提供 Spring Data repository 支持
  • Spring Data KeyValue: 基于映射的repository(存储库)和SPI可轻松构建用于KEY-VALUE存储的Spring Data模块。
  • Spring Data LDAP: 对LDAP 提供 Spring Data repository支持
  • Spring Data MongoDB : MongoDB的基于Spring的对象文档支持和存储库。
  • Spring Data Redis: 从Spring应用程序轻松配置和访问Redis。
  • Spring Data Rest: 将Spring Data存储库导出为超媒体驱动的RESTful资源。
  • Spring Data for Apache Cassandra: 轻松配置和访问Apache Cassandra或大规模,高可用性,面向数据的Spring应用程序。
  • Spring Data for Apache Geode :轻松配置和访问Apache Geode,实现高度一致,低延迟,面向数据的Spring应用程序。
  • Spring Data for Apache Solr: 为您的面向搜索的Spring应用程序轻松配置和访问Apache Solr。
  • Spring Data for Pivotal GemFire : 轻松配置和访问Pivotal GemFire,实现高度一致,低延迟/高吞吐量,面向数据的Spring应用程序。

星云解读:

-----------------

目前接触比较常用和重要的的是

Spring Data Common

Spring Data JPA

Spring Data MongoDB

Spring Data Redis

-----------------

社区模块

  • Spring Data Aerospike - Spring Data module for Aerospike.

  • Spring Data ArangoDB - Spring Data module for ArangoDB.

  • Spring Data Couchbase - Spring Data module for Couchbase.

  • Spring Data Azure Cosmos DB - Spring Data module for Microsoft Azure Cosmos DB.

  • Spring Data Cloud Datastore - Spring Data module for Google Datastore.

  • Spring Data Cloud Spanner - Spring Data module for Google Spanner.

  • Spring Data DynamoDB - Spring Data module for DynamoDB.

  • Spring Data Elasticsearch - Spring Data module for Elasticsearch.

  • Spring Data Hazelcast - Provides Spring Data repository support for Hazelcast.

  • Spring Data Jest - Spring Data module for Elasticsearch based on the Jest REST client.

  • Spring Data Neo4j - Spring-based, object-graph support and repositories for Neo4j.

  • Spring Data Vault - Vault repositories built on top of Spring Data KeyValue.

相关模块

  • Spring Data JDBC Extensions - 提供对Spring Framework中提供的JDBC支持的扩展。
  • Apache Hadoop的Spring - 通过提供统一的配置模型和易于使用的API来简化Apache Hadoop,以便使用HDFS,MapReduce,Pig和Hive。
  • Spring Content - 将内容与Spring Data Entities关联,并将其存储在许多不同的商店中,包括文件系统,S3,数据库或Mongo的GridFS。

版本发布

Spring Data是一个由独立项目组成的总体项目,原则上具有不同的发布节奏。 为了管理投资组合,发布了BOM(物料清单 - 请参见此示例),其中包含针对单个项目的一组策略依赖项。 发布列车有名称而不是版本,以避免与子项目混淆。

名称是一个字母序列(因此您可以按时间顺序排序)与着名计算机科学家和软件开发人员的名称。 当单个项目的点数累积到临界质量时,或者其中一个项目中存在一个需要每个人都可用的关键错误时,发布列车将推出名称以“-SRX”结尾的“服务发布”, 其中“X”是一个数字。

目前,版本系列包含以下模块:

  • Spring Data Commons

  • Spring Data JPA

  • Spring Data KeyValue

  • Spring Data LDAP

  • Spring Data MongoDB

  • Spring Data Redis

  • Spring Data REST

  • Spring Data for Apache Cassandra

  • Spring Data for Apache Geode

  • Spring Data for Apache Solr

  • Spring Data for Pivotal GemFire

  • Spring Data Couchbase (community module)

  • Spring Data Elasticsearch (community module)

  • Spring Data Neo4j (community module)

Spring Data学习中心的更多相关文章

  1. spring data学习

    在Spring Data模块中定义依赖: <dependencies> <dependency> <groupId>org.springframework.data ...

  2. Spring Data学习(一):初识

    目录 前言 添加Spring Data 配置pom.xml 配置数据库相关信息(application.properties) 配置数据库信息 配置自动根据实体类在数据库创建表 创建User.java ...

  3. JavaEE高级-Spring Data学习笔记

    Spring Data概述 - Spring Data : Spring 的一个子项目.用于简化数据库访问,支持NoSQL 和 关系数据存储.其主要目标是使数据库的访问变得方便快捷. - Spring ...

  4. Spring Data Redis学习

    本文是从为知笔记上复制过来的,懒得调整格式了,为知笔记版本是带格式的,内容也比这里全.点这里 为知笔记版本 Spring Data Redis 学习 Version 1.8.4.Release 前言 ...

  5. 一步步学习 Spring Data 系列之JPA(一)

    引入: Spring Data是SpringSource基金会下的一个用于简化数据库访问,并支持云服务的开源框架.其主要目标是使得数据库的访问变得方便快捷,并支持map-reduce框架和云计算数据服 ...

  6. 一步步学习 Spring Data 系列之JPA(二)

    继上一篇文章对Spring Data JPA更深( )一步剖析. 上一篇只是简单的介绍了Spring Data JPA的简单使用,而往往在项目中这一点功能并不能满足我们的需求.这是当然的,在业务中查询 ...

  7. Spring Data JPA 学习记录1 -- 单向1:N关联的一些问题

    开新坑 开新坑了(笑)....公司项目使用的是Spring Data JPA做持久化框架....学习了一段时间以后发现了一点值得注意的小问题.....与大家分享 主要是针对1:N单向关联产生的一系列问 ...

  8. spring data jpa入门学习

    本文主要介绍下spring data jpa,主要聊聊为何要使用它进行开发以及它的基本使用.本文主要是入门介绍,并在最后会留下完整的demo供读者进行下载,从而了解并且开始使用spring data ...

  9. Spring Data Commons 官方文档学习

    Spring Data Commons 官方文档学习   -by LarryZeal Version 1.12.6.Release, 2017-07-27 为知笔记版本在这里,带格式. Table o ...

随机推荐

  1. 高通msm8909打开debug串口

    1.修改板级文件 $ cd AOSP $ vim device/qcom/msm8909/BoardConfig.mk 如下所示: 2.修改defconfig文件 $ cd kernel/arch/a ...

  2. IntelliJ IDEA 超实用使用技巧分享

    https://blog.csdn.net/weixin_38405253/article/details/102583954 知识点概览: 高效率配置 日常使用 必备快捷键(★★) 查找 跳转切换 ...

  3. VisualHull && association4D 观摩记录

    简单记录一下自己对VisualHull 和 association4D 两个程序的理解,没有别的意思(当然是真的 由于进度还很慢,暂时只是简单记录一下发现的点和踩过的坑,做完再把资料汇总. Visua ...

  4. CyclicBarrier开启多个线程进行计算,最后统计计算结果

    有一个大小为50000的数组,要求开启5个线程分别计算10000个元素的和,然后累加得到总和 /** * 开启5个线程进行计算,最后所有的线程都计算完了再统计计算结果 */ public class ...

  5. [转帖]超能课堂(210) 笔记本中常说的PL1、PL2到底如何影响CPU性能?

    超能课堂(210)笔记本中常说的PL1.PL2到底如何影响CPU性能? https://www.expreview.com/71943.html 本文约 4070 字,需 7 分钟阅读 (切换至标准版 ...

  6. 深入理解react-native

    欢迎转载,请支持原创,保留原文链接:http://blog.ilibrary.me http://blog.ilibrary.me/2016/12/25/react-native-internal ( ...

  7. 【09】Jenkins:Pipeline 补充

    写在前面的话 我们在使用普通的构建任务的时候使用了 Sonar 做代码质量管理,也使用了 Publish Over SSH 插件中更新上线,但是我们在 Pipeline 怎么使用他们呢. 如果你没有查 ...

  8. 关于.Net Core 前后端分离跨域请求时 ajax并发请求导致部分无法通过验证解决办法。

    项目中有这样一个页面.页面加载的时候会同时并发6个ajax请求去后端请求下拉框. 这样会导致每次都有1~2个“浏览器预请求”不通过. 浏览器为什么会自动发送“预请求”?请看以面连接 https://b ...

  9. 机甲大师S1机器人编程学习

    机甲大师 S1(RoboMaster S1)是大疆新出的教育机器人,很期待.S1支持Scratch和Python编程.(Scratch是麻省理工学院的“终身幼儿园团队”(Lifelong Kinder ...

  10. Java集合大全

    上图为整理的集合类图关系,带对号标志的为线程安全类. 区别说明: 1.List Set Map Queue的区别List: 有序,可以多个元素引用相同的对象Set: 无序,不重复,不可以多个元素引用相 ...