Spring Data 專案允許應用程式設計師使用一致的介面來處理資料儲存,該介面使用名為 Repository 的抽象。Spring Data Repository 是在通過域驅動設計流行的 Repository 模式之後建模的。Spring Data 提供了一個名為 Repository 的中央 Java 介面,子專案可以擴充套件該介面以提供特定於資料儲存的功能。

除了 Repository 介面之外,Spring Data 還提供了兩個核心介面 - CrudRepository,它定義了基本 CRUD建立讀取更新刪除 )功能的合同 ; 和 PagingAndSortingRepository 通過定義分頁和排序合同來擴充套件 CrudRepository

這三個核心介面(RepositoryCrudRepositoryPagingAndSortingRepository)確保:

  1. 應用程式設計師可以以一致的方式訪問資料儲存(例如關聯式資料庫,基於文件的 NoSQL 資料庫,圖形資料庫等)。
  2. 可以輕鬆切換域實體的底層儲存 (請參閱域驅動設計 ),而無需更改應用程式與資料儲存互動的方式。
  3. 具體實現可以提供特定於資料儲存的特​​徵。