此版本仍在开发中,目前尚不被视为稳定版本。如需最新稳定版本,请使用 Spring Data Neo4j 8.0.4spring-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.neo4jspring-doc.cadn.net.cn

客户端是与映射无关的。</p><p>它不了解您的领域类,您需要负责将结果映射到符合您需求的对象上。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 buildingblocks
图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

此软件包包含创建可执行查询的 imperative 或 reactive 客户端的核心基础设施。 标记为 0 的软件包是安全使用的。核心软件包提供对客户端的 imperative 和 reactive 变体以及模板的访问。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

此包提供了几个可能在域中有所帮助的实用程序类,例如表示某些事务可以重试的谓词以及额外的转换器和标识生成器。spring-doc.cadn.net.cn

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

包含将无管理的 Neo4j 事务转换为Spring管理事务的核心基础设施。通过暴露命令式和响应式 TransactionManager 公开 Neo4jTransactionManagerReactiveNeo4jTransactionManagerspring-doc.cadn.net.cn

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

This package provides the Neo4j imperative and reactive repository API.spring-doc.cadn.net.cn

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

Spring Data Neo4j 专门存储库的配置基础结构,特别是用于启用 imperative 和响应式 Spring 数据 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