网站首页 > 博客文章 正文
下一篇[32.6Elasticsearch、Cassandra]
英文原文:https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/html/boot-features-nosql.html
GitHub:https://github.com/jijicai/Spring/tree/master/spring-boot
32.3、Neo4j
Neo4j 是一个开源的 NoSQL 图形数据库,它使用了一个由一级关系连接的节点的丰富数据类型,比传统的 RDBMS 方法更适合连接大数据。Spring Boot 为使用 Neo4j 提供了一些便利,包括:spring-boot-starter-data-neo4j “Starter”。
32.3.1、连接到 Neo4j 数据库
要访问 Neo4j 服务器,可以插入自动配置的 org.Neo4j.ogm.session.Session。默认情况下,该实例尝试使用 Bolt 协议连接到 localhost:7687 上的 Neo4j 服务器。下面的示例展示如何注入 Neo4j Session:
@Component
public class MyBean {
private final Session session;
@Autowired
public MyBean(Session session) {
this.session = session;
}
// ...
}
你可以通过设置 spring.data.neo4j.* 属性来配置要使用的 uri 和凭据,如下面示例所示:
spring.data.neo4j.uri=bolt://my-server:7687
spring.data.neo4j.username=neo4j
spring.data.neo4j.password=secret
通过添加 org.neo4j.ogm.config.Configuration @Bean,你可以完全控制会话的创建。另外,添加 SessionFactory 类型的 @Bean 将禁用自动配置并提供完全控制。
32.3.2、使用嵌入式模式
如果将 org.neo4j:neo4j-ogm-embedded-driver 添加到应用程序的依赖项中,Spring Boot 会自动配置一个进程内的 Neo4j 嵌入式实例,该实例在应用程序关闭时不会保留任何数据。
注释:由于嵌入式 Neo4j OGM 驱动程序本身不提供 Neo4j 内核,因此必须声明 org.neo4j:neo4j 为依赖项。有关兼容版本的列表,请参阅 Neo4j OGM 文档。(https://neo4j.com/docs/ogm-manual/current/reference/#reference:getting-started )
当类路径上有多个驱动程序时,嵌入式驱动程序优先于其他驱动程序。可以通过设置spring.data.neo4j.embedded.enabled=false 显式禁用嵌入模式。
如果嵌入式驱动程序和 Neo4j 内核位于上述类路径上,则 Data Neo4j Tests 自动使用嵌入式 Neo4j 实例。
注释:通过在配置中提供数据库文件的路径(例如:spring.data.neo4j.uri=file://var/tmp/graph.db),可以为嵌入式模式启用持久性。
32.3.3、Neo4jSession
默认情况下,如果你运行的是 web 应用程序,则会话将绑定到整个请求处理的线程(即,它使用“在视图中打开会话”模式)。如果不需要此行为,请将以下行添加到 application.properties 文件中:
spring.data.neo4j.open-in-view=false
32.3.4、Spring Data Neo4j 存储库
Spring Data 包括对 Neo4j 的存储库支持。
与许多其他 Spring Data 模块一样,Spring Data Neo4j 与 Spring Data JPA 共享公共基础设施。你可以使用前面的 JPA 示例,并将 City 定义为 Neo4j OGM @NodeEntity 而不是 JPA @Entity,并且存储库抽象也以相同的方法工作,如下面示例所示:
package com.example.myapp.domain;
import java.util.Optional;
import org.springframework.data.neo4j.repository.*;
public interface CityRepository extends Neo4jRepository<City, Long> {
Optional<City> findOneByNameAndState(String name, String state);
}
spring-boot-starter-data-neo4j “Starter” 支持存储库和事务管理。通过在 @Configuration bean 上分别使用 @EnableNeo4jRepositories 和 @EntityScan,可以自定义查找存储库和实体的位置。
提示:有关 Spring Data Neo4j 的完整细节,包括其对象映射技术,请参阅参考文档。(https://projects.spring.io/spring-data-neo4j/ )
32.4、Gemfire
Spring Data Gemfire 为访问 Pivotal Gemfire 数据管理平台提供了方便的 Spring 友好工具。有一个 spring-boot-starter-data-gemfire “Starter”,用于以方便的方式收集依赖项。目前还没有对 Gemfire 的自动配置支持,但是你可以使用单个注解 @EnableGemfireRepositories 来启用 Spring Data Repositories。(https://github.com/spring-projects/spring-data-gemfire/blob/master/src/main/java/org/springframework/data/gemfire/repository/config/EnableGemfireRepositories.java )
32.5、Solr
Apache Solr 是一个搜索引擎。Spring Boot 为 Solr 5 客户端库提供了基本的自动配置,以及 Spring Data Solr 提供的其之上的抽象。有一个 spring-boot-starter-data-solr “Starter”,用于以方便的方式收集依赖项。
32.5.1、连接到 Solr
你可以像注入任何其他 Spring bean 一样注入一个自动配置的 SolrClient 实例。默认情况下,该实例尝试连接到 localhost:8983/solr 上的服务器。下面的示例展示了如何注入 Solr bean:
@Component
public class MyBean {
private SolrClient solr;
@Autowired
public MyBean(SolrClient solr) {
this.solr = solr;
}
// ...
}
如果你添加自己的 SolrClient 类型的 @Bean,它将替换默认值。
32.5.2、Spring Data Solr 存储库
Spring Data 包括对 Apache Solr 的存储库支持。与前面讨论的 JPA 存储库一样,基本原则是根据方法名为你自动构造查询。
事实上,Spring Data JPA 和 Spring Data Solr 共享相同的公共基础设施。你可以从前面的 JPA 示例开始,假设 City 现在是一个 @SolrDocument 类,而不是一个 JPA @Entity,那么它的工作方式是相同的。
提示:有关 Spring Data Solr 的完整详细信息,请参阅参考文档。(https://projects.spring.io/spring-data-solr/ )
- 上一篇: Neo4j 3.0.0 正式发布,支持容器和云部署
- 下一篇: 图形数据库Neo4j常见问题
猜你喜欢
- 2024-11-24 Neo4J图数据库反欺诈分析实战(二) - 准备数据
- 2024-11-24 Springboot 2.x 使用bolt驱动集成neo4j
- 2024-11-24 从运维的角度带你初识neo4j图形数据库的安装及配置
- 2024-11-24 图形数据库Neo4j常见问题
- 2024-11-24 Neo4j 3.0.0 正式发布,支持容器和云部署
- 2024-11-24 SpringBoot2.x教程——NoSQL之安装配置Neo4j数据库
- 2024-11-24 Springboot2.3集成neo4j的过程和踩坑记
- 2024-11-24 你知道Neo4j这是什么数据库吗?有什么用呢?
- 2024-11-24 neo4j基本介绍
- 2024-11-24 Neo4j 因果集群路由策略详解及驱动访问
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)