跳到主要内容
版本:8.1.1

Spring Data Neo4j 的构建块

Doubao 中英对照 Building blocks of Spring Data Neo4j

概述​

SDN 由可组合的构建块组成。它构建在 Neo4j Java 驱动 之上。Java 驱动的实例由 Spring Boot 的自动配置本身提供。驱动的所有配置项都可在 spring.neo4j 命名空间下访问。驱动 bean 提供命令式、异步和响应式方法,用于与 Neo4j 交互。

您可以在该 bean 上使用驱动提供的所有事务方法,例如自动提交事务、事务函数和非托管事务。请注意,这些事务并不绑定到正在进行的 Spring 事务。

与 Spring Data 以及 Spring 的平台或响应式事务管理器的集成,从 Neo4j 客户端开始。客户端是 SDN 的一部分,通过一个独立的起步依赖 spring-boot-starter-data-neo4j 配置。该起步依赖的配置命名空间为 spring.data.neo4j。

该客户端与映射无关。它不了解您的领域类,您负责将结果映射到满足您需求的对象。

再上一层的抽象是 Neo4j 模板。它了解您的领域,您可以用它查询任意领域对象。在领域类数量众多、或有大量自定义查询而您不想为每一个都创建额外仓库抽象的场景中,模板很方便。

最高层的抽象是 Spring Data 仓库。

SDN 的所有抽象都同时提供命令式和响应式两种风格。不建议在同一个应用中混用这两种编程风格。响应式基础设施需要 Neo4j 4.0+ 数据库。

image`sdn buildingblocks

图 1. SDN 构建块

模板机制与其他存储的模板类似。有关更多信息,请参阅我们的 FAQ。Neo4j 客户端本身是 SDN 独有的。您可在附录中找到它的文档。

包级别​

包描述
org.springframework.data.neo4j.config* 可用于应用程序特定的、带注解的配置类。如果您不依赖 Spring Boot 的自动配置,这些抽象基类会很有帮助。
org.springframework.data.neo4j.core* 可执行查询的命令式或响应式客户端。标记为 @API(status = API.Status.STABLE) 的包可以安全使用。核心包提供对以下两者的访问:
org.springframework.data.neo4j.core.convert
org.springframework.data.neo4j.core.support* 在您的领域中很有帮助,例如指示某个事务可能
org.springframework.data.neo4j.core.transaction* 将事务纳入 Spring 托管事务。同时暴露命令式和响应式 TransactionManager,即 Neo4jTransactionManager,以及
org.springframework.data.neo4j.repository
org.springframework.data.neo4j.repository.config* 专门用于启用命令式和响应式 Spring Data Neo4j 的注解
org.springframework.data.neo4j.repository.support* 构建自定义的命令式和响应式 Spring Data Neo4j 仓库基类。