Building blocks of Spring Data Neo4j

Overview

SDN 由可组合构建模块组成。它建立在 Neo4j Java Driver 的基础之上。Java 驱动程序的实例通过 Spring Boot 的自动配置本身提供。驱动程序的所有配置选项在名称空间 spring.neo4j 中都可以访问。驱动程序 bean 提供命令式、异步和响应方法来与 Neo4j 交互。

您可以在该 bean 上使用驱动程序提供的所有事务方法,例如 auto-commit transactionstransaction functions 和非托管事务。请注意,这些事务并不严格绑定到正在进行的 Spring 事务。

与 Spring Data 和 Spring 平台或响应式事务管理器的集成始于 Neo4j Client。客户端是 SDN 的一部分,通过一个单独的启动程序 {artifactIdStarter} 进行配置。该启动程序的配置名称空间是 spring.data.neo4j

客户端不接受映射。它不知道你的领域类,你有责任将结果映射到适合你需求的对象。

更高一级的抽象是 Neo4j 模板。它知道你的领域,你可以使用它来查询任意领域对象。模板在包含大量领域类或自定义查询的场景中非常有用,你不希望为每个领域类都创建一个额外的存储库抽象。

最高级的抽象是 Spring Data 存储库。

SDN 的所有抽象都以强制性和响应性时尚出现。不建议在同一应用程序中混合这两种编程样式。响应性基础结构需要 Neo4j 4.0+ 数据库。

image$sdn buildingblocks
Figure 1. SDN building blocks

模板机制类似于其他存储的模板。在 our FAQ 中查找有关它的更多信息。Neo4j 客户端本身是 SDN 所独有的。您将在 appendix 中找到其文档。

On the package level

Package Description

org.springframework.data.neo4j.config

include::example$config/package-info.java[]

org.springframework.data.neo4j.core

include::example$core/package-info.java[]

org.springframework.data.neo4j.core.convert

include::example$core/convert/package-info.java[]

org.springframework.data.neo4j.core.support

include::example$core/support/package-info.java[]

org.springframework.data.neo4j.core.transaction

include::example$core/transaction/package-info.java[]

org.springframework.data.neo4j.repository

include::example$repository/package-info.java[]

org.springframework.data.neo4j.repository.config

include::example$repository/config/package-info.java[]

org.springframework.data.neo4j.repository.support

include::example$repository/support/package-info.java[]