概述

Spring Data的使命是为数据访问提供熟悉且一致的基于Spring的编程模型,同时仍保留底层数据存储的特殊特性。它使得使用数据访问技术,关系数据库和非关系数据库,map-reduce框架和基于云的数据服务变得容易。

特性

    强大的存储库和自定义对象映射抽象

     从存储库方法名称派生动态查询

     实现域基类提供基本属性

     支持透明审核(创建,最后更改)

     可以集成自定义存储库代码

     通过JavaConfig和自定义XML命名空间轻松实现Spring集成

     与Spring MVC控制器的高级集成

     跨存储持久性的实验支持

主要模块

Spring Data Commons -Core Spring概念支撑每个Spring Data模块。

Spring Data JDBC - Spring数据存储库支持JDBC。

Spring Data JDBC Ext - 支持对标准JDBC的数据库特定扩展,包括对Oracle RAC快速连接故障转移的支持,AQ JMS支持以及对使用高级数据类型的支持。

Spring Data JPA - Spring Data 对JPA的支持。

Spring Data KeyValue -基于映射的存储库和SPI可轻松构建用于键值存储的Spring Data模块。

Spring Data LDAP - Spring Data存储库支持Spring LDAP.

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 Apace Geode -轻松配置和访问Apache Geode,实现高度一致,低延迟,面向数据的Spring应用程序。

Spring Data for Apache Solr - 为您的面向搜索的Spring应用程序轻松配置和访问Apache Solr。

Spring Data for Pivotal GemFire -轻松配置和访问Pivotal GemFire,实现高度一致,低延迟/高吞吐量,面向数据的Spring应用程序。

社区模块

  • Spring Data Aerospike - 用于Aerospike的Spring Data模块。
  • Spring Data ArangoDB - ArangoDB的Spring Data模块。
  • Spring Data Couchbase - Couchbase的Spring Data模块。
  • Spring Data Azure Cosmos DB -用于Microsoft Azure Cosmos DB的Spring Data模块。
  • Spring Data DynamoDB - DynamoDB的Spring数据模块。
  • Spring Data Elasticsearch - Elasticsearch的Spring Data模块。
  • Spring Data Hazelcast - 为Hazelcast提供Spring Data存储库支持。
  • Spring Data Jest - 基于Jest REST客户端的Elasticsearch的Spring Data模块。
  • Spring Data Neo4j - Neo4j的基于Spring的对象图支持和存储库。
  • Spring Data Vault -基于Spring Data KeyValue构建的Vault存储库。

 

相关模块

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

 

孵化中的模块

  • Spring Data R2DBC - R2DBC的Spring Data支持。

 

发布培训

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 Initializr引导您的应用程序。

学习

文档

每个Spring项目都有自己的; 它详细解释了如何使用项目功能以及使用它们可以实现的功能。

Lovelace-SR3 CURRENT GA

Reference Doc.

API Doc.

Moore-M1 PRE

Reference Doc.

API Doc.

Moore-BUILD-SNAPSHOT SNAPSHOT

Reference Doc.

API Doc.

Lovelace-BUILD-SNAPSHOT SNAPSHOT


Reference Doc.

API Doc.

Kay-SR12 GA

Reference Doc.

API Doc.

Kay-BUILD-SNAPSHOT SNAPSHOT

Reference Doc.

API Doc.

Ingalls-SR17 GA

Reference Doc.

API Doc.

Ingalls-BUILD-SNAPSHOT SNAPSHOT

Reference Doc.

API Doc.