具有响应式Cassandra 的Spring Data

作者:baeldung

译者:xuli

1.简介

在本教程中,我们将学习如何使用Spring Data Cassandra的响应式数据访问功能。

特别地,这是Spring Data Cassandra文章系列的第三篇文章。在本文中,我们将使用REST API暴露Cassandra数据库。

我们可以在本系列的第一篇和第二篇文章中阅读有关Spring Data Cassandra的更多信息 。

2.Maven依赖

事实上,Spring Data Cassandra支持Project Reactor和RxJava反应类型。为了演示,我们将在本教程中使用Project reactor的反应类型Flux和Mono 。

首先,让我们添加教程所需的依赖项:

最新版本的 spring-data-cassandra 可以在这里找到。

现在,我们将通过REST API从数据库中暴露SELECT操作。所以,我们也为RestController添加依赖项:

3.实施我们的应用程序

由于我们将持久化数据,让我们首先定义我们的实体对象:

接下来,是时候创建一个从ReactiveCassandraRepository扩展的EmployeeRepository 。重要的是要注意此接口支持响应类型:

3.1.用于CRUD操作的Rest控制器

为了便于说明,我们将使用一个简单的Rest Controller 公开一些基本的 SELECT操作:

最后,让我们添加一个简单的EmployeeService:

3.2.数据库配置

然后,让我们在application.properties中指定用于连接Cassandra的密钥空间和端口:

4.测试端点

最后,是时候测试我们的API端点了。

4.1.手动测试

首先,让我们从数据库中获取员工记录:

结果,我们得到了所有员工:

继续,让我们尝试通过他的id找到一个特定的员工:

结果,我们让Mike Lauren先生回来了:

最后,让我们看看我们的年龄过滤器是否有效:

正如预期的那样,我们得到所有年龄超过35岁的员工:

4.2.集成测试

另外,让我们通过编写测试用例来测试相同的功能:

5.结论

概括一下,我们学习了如何使用Spring Data Cassandra来构建非阻塞应用程序。与往常一样,可在GitHub上查看本教程的源代码。

关注公众号

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181217B06EFB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券