【视频&交流平台】
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的数据:
领取专属 10元无门槛券
私享最新 技术干货