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. python笔记 面向对象编程从入门到高级

    目录: 一.概念 二.方法    2.1组合 2.2继承 2.3多态 2.4封装 2.5归一化设计 三.面向对象高级   3.1   反射(自省) 3.2   内置方法__getatter__, __ ...

  2. vue需求表单有单位(时分秒千克等等)

    需求如下: 问题分析: 因为用elementui组件 el-input 相当于块级元素,后面的单位<span>分</span>会被挤下去,无法在同一水平. 解决方法: 不用它的 ...

  3. Android 支持库迁移到AndroidX

    一.背景 Android系统版本在不断更新,从最初的Android 1.0到现在Google和各大手机厂商正在推的Android 10,平均下来每个年头都有一个大的版本更新.但用户正在用的手机上的An ...

  4. 以Integer类型传参值不变来理解Java值传参

    最近在写代码的时候出了一个错误,由于对值引用理解的不深,将Integer传入方法中修改,以为传入后直接修改Integer中的值就不用写返回值接收了,虽然很快发现了问题,但还是来总结一下 首先是代码: ...

  5. MySQL 中获取用户表、用户视图、用户表中列信息

    直接贴代码了: /// <summary> /// MySql 数据库维护中心 /// </summary> public class MySqlDbMaintenance:D ...

  6. golang ----array and slice

    Go Slices: usage and internals Introduction Go's slice type provides a convenient and efficient mean ...

  7. C#实现高性能高并发Socket服务器

    1.高并发服务器实现一 本文转载 转载地址 2.高并发服务器实现二 本文转载 转载内容在于学习C#实现的高并发服务器 以下个人观点 1 需要注意SocketAsyncEventArgs的使用 2 做到 ...

  8. Jquery ajax与asp.net MVC前后端各种交互

    1.Jquery通过ajaxSubmit提交表单 if (jQuery("#Edit_from").validate().form()) { jQuery("#Edit_ ...

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

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

  10. oracle 查询角色具有的权限

    select * from dba_tab_privs where GRANTEE='角色名';