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顯著減小了樣板化代碼的數量,為各個持久化存儲實現了數據訪問層。