Building blocks of Spring Data Neo4j
Overview
SDN 由可组合构建模块组成。它建立在 Neo4j Java Driver 的基础之上。Java 驱动程序的实例通过 Spring Boot 的自动配置本身提供。驱动程序的所有配置选项在名称空间 spring.neo4j
中都可以访问。驱动程序 bean 提供命令式、异步和响应方法来与 Neo4j 交互。
您可以在该 bean 上使用驱动程序提供的所有事务方法,例如 auto-commit transactions、 transaction functions 和非托管事务。请注意,这些事务并不严格绑定到正在进行的 Spring 事务。
与 Spring Data 和 Spring 平台或响应式事务管理器的集成始于 Neo4j Client。客户端是 SDN 的一部分,通过一个单独的启动程序 {artifactIdStarter}
进行配置。该启动程序的配置名称空间是 spring.data.neo4j
。
客户端不接受映射。它不知道你的领域类,你有责任将结果映射到适合你需求的对象。
更高一级的抽象是 Neo4j 模板。它知道你的领域,你可以使用它来查询任意领域对象。模板在包含大量领域类或自定义查询的场景中非常有用,你不希望为每个领域类都创建一个额外的存储库抽象。
最高级的抽象是 Spring Data 存储库。
SDN 的所有抽象都以强制性和响应性时尚出现。不建议在同一应用程序中混合这两种编程样式。响应性基础结构需要 Neo4j 4.0+ 数据库。
On the package level
Package | Description |
---|---|
|
include::example$config/package-info.java[] |
|
include::example$core/package-info.java[] |
|
include::example$core/convert/package-info.java[] |
|
include::example$core/support/package-info.java[] |
|
include::example$core/transaction/package-info.java[] |
|
include::example$repository/package-info.java[] |
|
include::example$repository/config/package-info.java[] |
|
include::example$repository/support/package-info.java[] |