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显著减小了样板化代码的数量,为各个持久化存储实现了数据访问层。
閱讀更多 溫榆河大咖 的文章