首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

212.Spring Boot WebFlux:响应式Spring Data之MongoDB

【视频&交流平台】

SpringBoot视频:http://t.cn/R3QepWG

Spring Cloud视频:http://t.cn/R3QeRZc

SpringBoot Shiro视频:http://t.cn/R3QDMbh

SpringBoot交流平台:http://t.cn/R3QDhU0

SpringBoot 2.0 SpringData和JPA视频:

http://t.cn/R1pSojf

说明

(1)JDK版本:1.8

(2)Spring Boot 2.0.5

需求缘起

在上一篇博客中我们对于WebFlux编写了一个简单的Hello World,然而绝大多数系统免不了要与数据库进行交互,所以我们也需要响应式的持久层API和支持异步的数据库驱动。

各个数据库都开始陆续推出异步驱动,目前SpringData支持的可以进行响应式数据访问的数据库有MongoDB、Redis、Apache Cassandra和CouchDB。今天我们用MongoDB来写一个响应式demo。

一、响应式Spring Data之MongoDB

本例子是基于上一篇文章的例子进行编码。

1.1添加依赖

在POM中增加Spring Data Reactive Mongo的依赖:

1.2创建实体类

我们创建一个User实体类,这里使用@Document注解,使用@Id标注这是一个主键。

1.3创建Repository

与非响应式Spring Data的CrudReposity对应的,响应式的Spring Data也提供了相应的Repository库:ReactiveCrudReposity,当然,我们也可以使用它的子接口ReactiveMongoRepository。

1.4创建Service

由于业务逻辑几乎为零,只是简单调用了DAO层:

1.5创建Controller

Controller层是直接调用了Service层代码,也比较简单:

1.6启动应用测试一下

(1)添加数据:

添加三条数据:

http://127.0.0.1:8080/user/save?id=1&name=张三

http://127.0.0.1:8080/user/save?id=2&name=李四

http://127.0.0.1:8080/user/save?id=3&name=王五

(2)查看所有数据:

访问地址http://127.0.0.1:8080/user/findAll查看所有数据,返回如下:

(3)删除数据:

访问地址http://127.0.0.1:8080/user/deleteById?id=1删除数据,然后再访问地址http://127.0.0.1:8080/user/findAll数据只剩下两条了。

(4)通过id查询:

访问地址http://127.0.0.1:8080/user/findById?id=2查询id=2的数据:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181022B0BT8600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券