Spring Data Neo4j 的構建塊
概述
SDN 由可組合的構建塊組成。它構建在 Neo4j Java Driver 之上。Java driver 的例項透過 Spring Boot 的自動配置本身提供。Driver 的所有配置選項都可以在名稱空間 spring.neo4j
中訪問。Driver bean 提供命令式、非同步和響應式方法與 Neo4j 互動。
與 Spring Data 以及 Spring 的平臺或響應式事務管理器的整合始於 Neo4j Client。該 Client 是 SDN 的一部分,透過一個單獨的 starter spring-boot-starter-data-neo4j
進行配置。該 starter 的配置名稱空間是 spring.data.neo4j
。
該 Client 是對映無關的。它不瞭解您的領域類,您負責將結果對映到適合您需求的物件。
下一個更高層次的抽象是 Neo4j Template。它瞭解您的領域,您可以使用它來查詢任意領域物件。在領域類數量眾多或有自定義查詢且不想為每個查詢建立額外的 repository 抽象的場景中,template 非常有用。
最高層次的抽象是 Spring Data repository。
SDN 的所有抽象都提供了命令式和響應式風格。不建議在同一應用程式中混合使用這兩種程式設計風格。響應式基礎設施需要 Neo4j 4.0+ 資料庫。

在包層面
包 | 描述 |
---|---|
|
此包包含與配置相關的支援類,可用於應用程式特定的、帶註解的配置類。如果您不依賴 Spring Boot 的自動配置,抽象基類會很有幫助。此包提供了一些額外的註解來啟用審計。 |
|
此包包含建立可執行查詢的命令式或響應式 Client 的核心基礎設施。標記為 |
|
提供 SDN 支援的一組簡單型別。 |
|
此包提供了一些在您的領域中可能有用的支援類,例如指示某些事務可以重試的謂詞,以及額外的轉換器和 ID 生成器。 |
|
包含將非託管 Neo4j 事務轉換為 Spring 託管事務的核心基礎設施。將命令式和響應式 |
|
此包提供 Neo4j 命令式和響應式 repository API。 |
|
Neo4j 特定 repositories 的配置基礎設施,特別是用於啟用命令式和響應式 Spring Data Neo4j repositories 的專用註解。 |
|
此包提供了一些公共支援類,用於構建自定義命令式和響應式 Spring Data Neo4j repository 基類。這些支援類與 SDN 本身使用的類相同。 |