- Spring Data JPA從入門到精通
- 張振華
- 586字
- 2019-12-06 16:29:23
1.3 了解Spring Data
1.3.1 Spring Data介紹
Spring Data項目是從2010年發展起來的,從創立之初Spring Data就想提供一個大家熟悉的、一致的、基于Spring的數據訪問編程模型,同時仍然保留底層數據存儲的特殊特性。它可以輕松地讓開發者使用數據訪問技術,包括關系數據庫、非關系數據庫(NoSQL)和基于云的數據服務。
Spring Data Common是Spring Data所有模塊的公用部分,該項目提供跨Spring數據項目的共享基礎設施。它包含了技術中立的庫接口以及一個堅持java類的元數據模型。
Spring Data不僅對傳統的數據庫訪問技術JDBC、Hibernate、JDO、TopLick、JPA、Mybitas做了很好的支持、擴展、抽象、提供方便的API,還對NoSQL等非關系數據做了很好的支持,包括MongoDB、Redis、Apache Solr等。
1.3.2 Spring Data的子項目
主要子項目(Main modules)如下:
- Spring Data Commons
- Spring Data Gemfire
- Spring Data JPA
- Spring Data KeyValue
- Spring Data LDAP
- Spring Data MongoDB
- Spring Data REST
- Spring Data Redis
- Spring Data for Apache Cassandra
- Spring Data for Apache Solr
社區支持的子項目(Community modules):
- Spring Data Aerospike
- Spring Data Couchbase
- Spring Data DynamoDB
- Spring Data Elasticsearch
- Spring Data Hazelcast
- Spring Data Jest
- Spring Data Neo4j
- Spring Data Vault
其他子項目(Related modules):
- Spring Data JDBC Extensions
- Spring for Apache Hadoop
- Spring Content
當然,還有許多開源社區做出的貢獻,比如Mybitas等。
市面上主要的子項目如圖1-3所示。

圖1-3
1.3.3 Spring Data操作的主要特性
Spring Data項目旨在為大家提供一種通用的編碼模式。數據訪問對象實現了對物理數據層的抽象,為編寫查詢方法提供了方便。通過對象映射,實現域對象和持續化存儲之間的轉換,而模板提供的是對底層存儲實體的訪問實現,如圖1-4所示。操作上主要有如下特征:
- 提供模板操作,如Spring Data Redis和Spring Data Riak。
- 強大的Repository和定制的數據存儲對象的抽象映射。
- 對數據訪問對象的支持(Auting等)。

圖1-4
推薦閱讀
- 自己動手寫搜索引擎
- Podman實戰
- JavaScript by Example
- C語言課程設計
- Spring Boot進階:原理、實戰與面試題分析
- Kotlin編程實戰:創建優雅、富于表現力和高性能的JVM與Android應用程序
- 動手學數據結構與算法
- Advanced Express Web Application Development
- Java高并發核心編程(卷1):NIO、Netty、Redis、ZooKeeper
- Learning Material Design
- 深度探索Go語言:對象模型與runtime的原理特性及應用
- OpenCV Android Programming By Example
- scikit-learn Cookbook(Second Edition)
- 安卓工程師教你玩轉Android
- Learning D3.js 5 Mapping(Second Edition)