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顯著減小了樣板化代碼的數量,為各個持久化存儲實現了數據訪問層。
閱讀更多 溫榆河大咖 的文章