Spring系列學習之Spring Data 資料訪問介紹
英文原文:https://spring.io/projects/spring-data
概述
Spring Data的使命是為資料訪問提供熟悉且一致的基於Spring的程式設計模型,同時仍保留底層資料儲存的特殊特性。
它使得使用資料訪問技術,關係資料庫和非關係資料庫,map-reduce框架和基於雲的資料服務變得容易。 這是一個傘形專案,其中包含許多特定於給定資料庫的子專案。 這些專案是通過與這些令人興奮的技術背後的許多公司和開發人員合作開發的。
特性
- 強大的儲存庫和自定義物件對映抽象
- 從儲存庫方法名稱派生動態查詢
- 實現域基類提供基本屬性
- 支援透明稽核(建立,最後更改)
- 可以整合自定義儲存庫程式碼
- 通過JavaConfig和自定義XML名稱空間輕鬆實現Spring整合
- 與Spring MVC控制器的高階整合
- 跨儲存永續性的實驗支援
主要模組
-
-
Spring Data JDBC - Spring資料儲存庫支援JDBC。
-
Spring Data JDBC Ext - 支援對標準JDBC的資料庫特定擴充套件,包括對Oracle RAC快速連線故障轉移的支援,AQ JMS支援以及對使用高階資料型別的支援。
-
Spring Data JPA - Spring Data 對JPA的支援。
-
Spring Data KeyValue -基於對映的儲存庫和SPI可輕鬆構建用於鍵值儲存的Spring Data模組。
-
-
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 Apace Geode -輕鬆配置和訪問Apache Geode,實現高度一致,低延遲,面向資料的Spring應用程式。
-
Spring Data for Apache Solr - 為您的面向搜尋的Spring應用程式輕鬆配置和訪問Apache Solr。
-
Spring Data for Pivotal GemFire -輕鬆配置和訪問Pivotal GemFire,實現高度一致,低延遲/高吞吐量,面向資料的Spring應用程式。
社群模組
-
Spring Data Aerospike - 用於Aerospike的Spring Data模組。
-
Spring Data ArangoDB - ArangoDB的Spring Data模組。
-
Spring Data Couchbase - Couchbase的Spring Data模組。
-
Spring Data Azure Cosmos DB -用於Microsoft Azure Cosmos DB的Spring Data模組。
-
Spring Data DynamoDB - DynamoDB的Spring資料模組。
-
Spring Data Elasticsearch - Elasticsearch的Spring Data模組。
-
Spring Data Hazelcast - 為Hazelcast提供Spring Data儲存庫支援。
-
Spring Data Jest - 基於Jest REST客戶端的Elasticsearch的Spring Data模組。
-
Spring Data Neo4j - Neo4j的基於Spring的物件圖支援和儲存庫。
-
Spring Data Vault -基於Spring Data KeyValue構建的Vault儲存庫。
相關模組
- Spring Data JDBC Extensions - 提供對Spring Framework中提供的JDBC支援的擴充套件。
- Spring for Apache Hadoop - 通過提供統一的配置模型和易於使用的API來簡化Apache Hadoop,以便使用HDFS,MapReduce,Pig和Hive。
- Spring Content - 將內容與Spring Data Entities關聯,並將其儲存在許多不同的商店中,包括檔案系統,S3,資料庫或Mongo的GridFS。
孵化中的模組
- Spring Data R2DBC - R2DBC的Spring Data支援。
釋出培訓
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)
快速開始
使用Spring Initializr引導您的應用程式。
學習
文件
每個Spring專案都有自己的; 它詳細解釋瞭如何使用專案功能以及使用它們可以實現的功能。
Lovelace-SR3 CURRENT GA | Reference Doc. | API Doc. |
Moore-M1 PRE | Reference Doc. | API Doc. |
Moore-BUILD-SNAPSHOT SNAPSHOT | Reference Doc. | API Doc. |
Lovelace-BUILD-SNAPSHOT SNAPSHOT | Reference Doc. | API Doc. |
Kay-SR12 GA | Reference Doc. | API Doc. |
Kay-BUILD-SNAPSHOT SNAPSHOT | Reference Doc. | API Doc. |
Ingalls-SR17 GA | Reference Doc. | API Doc. |
Ingalls-BUILD-SNAPSHOT SNAPSHOT | Reference Doc. | API Doc. |