Spring Data 概覽
Spring Data的使命是爲數據訪問提供熟悉且一致的基於Spring的編程模型,同時仍保留底層數據存儲的特殊特性。數據庫
它使數據訪問技術,關係數據庫和非關係數據庫,map-reduce框架和基於雲的數據服務變得簡單易用。 這是一個傘形項目,其中包含許多特定於給定數據庫的子項目。 這些項目是經過與這些激動人心的技術背後的許多公司和開發人員合做開發的。編程
-----------框架
星雲解讀:ide
衆所周知,數據庫大致上能夠分爲關係型數據庫和非關係型數據庫.oop
數據庫種類繁多,爲了創建一個統一訪問這些數據庫的方式,Spring Data 項目應運而生.ui
-----------spa
功能
- 強大的存儲庫和自定義對象映射抽象
- 從存儲庫方法名稱派生動態查詢
- 實現域基類提供基本屬性
- 支持透明審覈(建立,最後更改)
- 能夠集成自定義存儲庫代碼
- 經過JavaConfig和自定義XML命名空間輕鬆實現Spring集成
- 與Spring MVC控制器的高級集成
- 跨存儲持久性的實驗支持
星雲解讀:對象
-----------排序
須要將通用的數據庫基本的增刪改查進行抽象封裝並創建映射資源
須要和Spring 完美兼容
須要支持Spring MVC
-----------
主要模塊
- Spring Data Common: Spring 核心支撐每一個Spring Data模塊。
- Spring Data JDBC: 對JDBC 提供Spring Data repository支持
- Spring Data JDBC Ext: 支持對標準JDBC的數據庫特定擴展,包括對Oracle RAC快速鏈接故障轉移的支持,AQ JMS支持以及對使用高級數據類型的支持。
- Spring Data JPA: 對JPA提供 Spring Data repository 支持
- Spring Data KeyValue: 基於映射的repository(存儲庫)和SPI可輕鬆構建用於KEY-VALUE存儲的Spring Data模塊。
- Spring Data LDAP: 對LDAP 提供 Spring Data repository支持
- 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 Apache Geode :輕鬆配置和訪問Apache Geode,實現高度一致,低延遲,面向數據的Spring應用程序。
- Spring Data for Apache Solr: 爲您的面向搜索的Spring應用程序輕鬆配置和訪問Apache Solr。
- Spring Data for Pivotal GemFire : 輕鬆配置和訪問Pivotal GemFire,實現高度一致,低延遲/高吞吐量,面向數據的Spring應用程序。
星雲解讀:
-----------------
目前接觸比較經常使用和重要的的是
Spring Data Common
Spring Data JPA
Spring Data MongoDB
Spring Data Redis
-----------------
社區模塊
Spring Data Aerospike - Spring Data module for Aerospike.
Spring Data ArangoDB - Spring Data module for ArangoDB.
Spring Data Couchbase - Spring Data module for Couchbase.
Spring Data Azure Cosmos DB - Spring Data module for Microsoft Azure Cosmos DB.
Spring Data Cloud Datastore - Spring Data module for Google Datastore.
Spring Data Cloud Spanner - Spring Data module for Google Spanner.
Spring Data DynamoDB - Spring Data module for DynamoDB.
Spring Data Elasticsearch - Spring Data module for Elasticsearch.
Spring Data Hazelcast - Provides Spring Data repository support for Hazelcast.
Spring Data Jest - Spring Data module for Elasticsearch based on the Jest REST client.
Spring Data Neo4j - Spring-based, object-graph support and repositories for Neo4j.
Spring Data Vault - Vault repositories built on top of Spring Data KeyValue.
相關模塊
- Spring Data JDBC Extensions - 提供對Spring Framework中提供的JDBC支持的擴展。
- Apache Hadoop的Spring - 經過提供統一的配置模型和易於使用的API來簡化Apache Hadoop,以便使用HDFS,MapReduce,Pig和Hive。
- Spring Content - 將內容與Spring Data Entities關聯,並將其存儲在許多不一樣的商店中,包括文件系統,S3,數據庫或Mongo的GridFS。
版本發佈
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)