Spring Data Neo4j 的构建块
概述
SDN 由可组合的构建块组成。它构建在 Neo4j Java Driver 之上。Java driver 的实例通过 Spring Boot 的自动配置本身提供。Driver 的所有配置选项都可以在命名空间 spring.neo4j
中访问。Driver bean 提供命令式、异步和响应式方法与 Neo4j 交互。
与 Spring Data 以及 Spring 的平台或响应式事务管理器的集成始于 Neo4j Client。该 Client 是 SDN 的一部分,通过一个单独的 starter spring-boot-starter-data-neo4j
进行配置。该 starter 的配置命名空间是 spring.data.neo4j
。
该 Client 是映射无关的。它不了解您的领域类,您负责将结果映射到适合您需求的对象。
下一个更高层次的抽象是 Neo4j Template。它了解您的领域,您可以使用它来查询任意领域对象。在领域类数量众多或有自定义查询且不想为每个查询创建额外的 repository 抽象的场景中,template 非常有用。
最高层次的抽象是 Spring Data repository。
SDN 的所有抽象都提供了命令式和响应式风格。不建议在同一应用程序中混合使用这两种编程风格。响应式基础设施需要 Neo4j 4.0+ 数据库。

在包层面
包 | 描述 |
---|---|
|
此包包含与配置相关的支持类,可用于应用程序特定的、带注解的配置类。如果您不依赖 Spring Boot 的自动配置,抽象基类会很有帮助。此包提供了一些额外的注解来启用审计。 |
|
此包包含创建可执行查询的命令式或响应式 Client 的核心基础设施。标记为 |
|
提供 SDN 支持的一组简单类型。 |
|
此包提供了一些在您的领域中可能有用的支持类,例如指示某些事务可以重试的谓词,以及额外的转换器和 ID 生成器。 |
|
包含将非托管 Neo4j 事务转换为 Spring 托管事务的核心基础设施。将命令式和响应式 |
|
此包提供 Neo4j 命令式和响应式 repository API。 |
|
Neo4j 特定 repositories 的配置基础设施,特别是用于启用命令式和响应式 Spring Data Neo4j repositories 的专用注解。 |
|
此包提供了一些公共支持类,用于构建自定义命令式和响应式 Spring Data Neo4j repository 基类。这些支持类与 SDN 本身使用的类相同。 |