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. 安装Office 2016 出现 Office 16 Click-to-Run Extensibility Component

    无法安装 64 位版本的 Office,因为在您的 PC 上找到了以下 32 位程序: Office 16 Click-to-Run Extensibility Component 请卸载所有 32 ...

  2. DNS 服务器无法正常解析时,可以尝试这样!

    DNS 服务器无法正常解析时,可以尝试这样! ========================================================================联通:12 ...

  3. python实现AES加密

    pip install pycryptodomex 需要安装pycryptodomex模块 aes加密 from Cryptodome.Cipher import AES from binascii ...

  4. WPF 精修篇 WPF 使用ActiveX

    原文:WPF 精修篇 WPF 使用ActiveX WPF 实现远程桌面功能 首先使用 开发人员命令提示 进入 自己的项目文件根目录下 输入 aximp C:\windows\System32\msts ...

  5. hadoop格式化:java.io.IOException: Incompatible clusterIDs in /home/lxh/hadoop/hdfs/data: namenode clusterID

    1 概述  解决hadoop启动hdfs时,datanode无法启动的问题.错误为: java.io.IOException: Incompatible clusterIDs in /home/lxh ...

  6. android 入门开发

    本示例讲解的是基本点有 1.使用SQLite数据库 2.对数据的新增,查询. 3.利用ViewActivity进行数据的呈现 代码是参考了网上各种代码,刚开始写,肯定有一些地方是有问题,我对JAVA代 ...

  7. Golang 模块(Module)官方手册

    官方原文: https://github.com/golang/go/wiki/Modules Go 1.11包括此处建议的对版本模块的初步支持.模块是Go 1.11中的实验性加入功能,并计划纳入反馈 ...

  8. PIE SDK栅格矢量化算法

    1.算法功能简介 栅格数据矢量化较为复杂,如果由一幅扫描的数字化地图来建立矢量数据库,则需要经过数字图象处理,如边缘增强.细化.二值化.特征提取及模式识别才能获得矢量数据.人们通常将多色地图分色后逐个 ...

  9. 2019 上海轻轻java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.上海轻轻等公司offer,岗位是Java后端开发,因为发展原因最终选择去了上海轻轻,入职一年时间了,也成为了面 ...

  10. 安装Python,输入pip命令报错———pip Fatal error in launcher: Unable to create process using

    今天把Python的安装位置也从C盘剪切到了D盘, 然后修改了Path环境变量中对应的盘符:D:\Python27\;D:\Python27\Scripts; 不管是在哪个目录,Python可以执行了 ...