此版本仍在开发中,尚未被视为稳定版本。如需最新的稳定版本,请使用 Spring Data Neo4j 7.4.0spring-doc.cn

Spring Data Neo4j 的构建块

概述

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

您可以使用驱动程序在该 bean 上提供的所有事务方法,例如自动提交事务事务函数和非托管事务。 请注意,这些事务与正在进行的 Spring 事务并不紧密。spring-doc.cn

与 Spring Data 和 Spring 的平台或反应式事务管理器的集成从 Neo4j Client 开始。 客户端是 SDN 的一部分,通过单独的Starters 进行配置。 该 starter 的配置命名空间为 。spring-boot-starter-data-neo4jspring.data.neo4jspring-doc.cn

客户端与映射无关。 它不知道您的域类,您负责将结果映射到适合您需求的对象。spring-doc.cn

下一个更高级别的抽象是 Neo4j 模板。 它知道您的域,您可以使用它来查询任意域对象。 该模板在具有大量域类或自定义查询的情况下会派上用场,您不想为每个域类或自定义查询创建额外的存储库抽象。spring-doc.cn

最高级别的抽象是 Spring Data 存储库。spring-doc.cn

SDN 的所有抽象都以命令式和反应式两种方式出现。 不建议在同一应用程序中混合使用这两种编程样式。 反应式基础设施需要 Neo4j 4.0+ 数据库。spring-doc.cn

image$SDN 构建块
图 1.SDN 构建块

模板机制类似于其他 store 的模板。 在我们的常见问题解答中查找有关它的更多信息。 Neo4j 客户端本身是 SDN 独有的。 您可以在附录中找到其文档。spring-doc.cn

在包级别

描述

org.springframework.data.neo4j.configspring-doc.cn

此软件包包含与配置相关的支持类,这些类可用于特定于应用程序的 configuration 类。如果您不依赖 Spring Boot 的自动配置,抽象 Base Class 会很有帮助。 该软件包提供了一些支持审计的其他注释。spring-doc.cn

org.springframework.data.neo4j.corespring-doc.cn

此软件包包含用于创建可执行查询的命令式或反应式客户端的核心基础设施。 标记为 的软件包可以安全使用。核心包提供对 client 和 template 的命令式和反应式变体。@API(status = API.Status.STABLE)spring-doc.cn

org.springframework.data.neo4j.core.convertspring-doc.cn

提供一组 SDN 支持的简单类型。允许引入额外的、自定义的 变换 器。Neo4jConversionsspring-doc.cn

org.springframework.data.neo4j.core.supportspring-doc.cn

此包提供了几个可能对您的域有所帮助的支持类,例如谓词 指示可以重试某些事务以及其他转换器和 ID 生成器。spring-doc.cn

org.springframework.data.neo4j.core.transactionspring-doc.cn

包含用于将非托管 Neo4j 事务转换为 Spring 托管事务的核心基础结构。公开 祈使式和反应式 as 和 。TransactionManagerNeo4jTransactionManagerReactiveNeo4jTransactionManagerspring-doc.cn

org.springframework.data.neo4j.repositoryspring-doc.cn

此软件包提供 Neo4j 命令式和反应式存储库 API。spring-doc.cn

org.springframework.data.neo4j.repository.configspring-doc.cn

Neo4j 特定存储库的配置基础设施,尤其是启用命令式的专用注释 和反应式 Spring Data Neo4j 存储库。spring-doc.cn

org.springframework.data.neo4j.repository.supportspring-doc.cn

这个包提供了几个公共支持类,用于构建自定义的命令式和反应式 Spring Data Neo4j repository 基类。支持类与 SDN 本身使用的类相同。spring-doc.cn