此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Data Neo4j 7.5.2spring-doc.cadn.net.cn

Spring Data Neo4j 的构建块

概述

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

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

与 Spring Data 和 Spring 的平台或响应式事务管理器的集成始于 Neo4j 客户端。 客户端是 SDN 的一部分,通过单独的Starters配置,spring-boot-starter-data-neo4j. 该Starters的配置命名空间是spring.data.neo4j.spring-doc.cadn.net.cn

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

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

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

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

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

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

在包层面

描述

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

此包包含与配置相关的支持类,可用于特定于应用程序的注释 配置类。如果您不依赖 Spring Boot 的自动配置,抽象基类会很有帮助。 该包提供了一些启用审计的附加注释。spring-doc.cadn.net.cn

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

此包包含用于创建可以执行查询的命令式或响应式客户端的核心基础结构。 标记为@API(status = API.Status.STABLE)可以安全使用。核心包提供对两者的访问 客户端和模板的命令式和响应式变体。spring-doc.cadn.net.cn

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

提供一组 SDN 支持的简单类型。这Neo4jConversions允许引入额外的定制 变换 器。spring-doc.cadn.net.cn

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

此包提供了几个可能对您的域有用的支持类,例如谓词 表示某些事务可能会重试,并需要额外的转换器和 ID 生成器。spring-doc.cadn.net.cn

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

包含用于将非托管 Neo4j 事务转换为 Spring 托管事务的核心基础设施。公开 命令式和被动式TransactionManagerNeo4jTransactionManagerReactiveNeo4jTransactionManager.spring-doc.cadn.net.cn

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

该包提供了 Neo4j 命令式和响应式存储库 API。spring-doc.cadn.net.cn

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

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

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

此软件包提供了几个公共支持类,用于构建自定义命令式和响应式 Spring Data Neo4j 存储库基类。支持类与 SDN 本身使用的类相同。spring-doc.cadn.net.cn