Spring Data(一)概念、特征、模块

Spring Data的主要任务是为数据访问提供一个相似的、一致的、基于Spring的编程模型,同时又保留着下面各个数据存储的特征。它使得使用数据访问技术非常的简单,包括关系型和非关系型数据库、map-reduce框架、云数据服务等。这是一个伞项目,它包含许多指定数据库的子项目。这个项目是许多公司和开发者一起开发而成的,他们是这项令人兴奋的技术的幕后作者。


特征:

强大的仓库和定制的实体映射抽象

从仓库方法名字衍生出的动态查询

提供了基础属性实现的基础类

支持透明的审计(创建、最终修改)

整合指定仓库代码的可能性

通过JavaConfig和指定的xml命名空间非常容易的进行Spring整合

用Spring MVC controller进行先进的整合

交叉存储持久化的实验性的支持

主要的模块

Spring Data Commons 每一个Spring Data项目的核心基础概念

Spring Data Gemfire 提供了从Spring应用的简单的配置和访问Gemfire

Spring Data JPA 提供了非常简单的基于JPA仓库的实现

Spring Data JDBC 基于JDBC的仓库

Spring Data KeyValue 基于Map的仓库和非常简单的创建键-值存储的模块

Spring Data LDAP 为Spring LDAP提供仓库支持

Spring Data MongoDB 为MongoDB提供基于Spring的文档实体和存储

Spring Data REST 作为超媒体RESTful资源输出Spring Data存储

Spring Data Redis 提供简单的配置和从Spring应用到redis的访问

Spring Data for Apache Cassandra ——Apache Cassandra的Spring Data模块

Spring Data for Apache Solr ——Apache Solr 的Spring Data模块

社区模块

Spring Data Aerospike

Spring Data ArangoDB

Spring Data Couchbase

Spring Data Azure DocumentDB

Spring Data DynamoDB

Spring Data Elasticsearch

Spring Data Hazelcast

Spring Data Jest

Spring Data Neo4j

Spring Data Vault

相关模块

Spring Data JDBC Extensions 在Spring框架内提供了JDBC的扩展

Spring for Apache Hadoop 提供统一的配置模型、为HDFS, MapReduce, Pig,和 Hive提供API,简化了Hadoop。

Spring Content 使内容和你的Spring Data实体发生联系,存储在不同的存储介质中,File-system, S3, Database 或者MongoDB

Spring Boot 启动器

如果你正在使用SpringBoot,你将继承每一个项目的预定义版本。你可以配置spring-data-releasetrain.version 插入你想要的版本。

Spring Data显著减小了样板化代码的数量,为各个持久化存储实现了数据访问层。