SpringBoot2.0中MVC和WebFlux控制层Controller对比
本篇文章是SpringBoot2.0关于Controller控制层的对比,相信很多开发最好奇的也是这块。那么小编就带着大家一起先来看一下,尝尝鲜,本篇文章比较短小精悍,只讲如何使用(前面一直在讲概念,从这篇开始以后都是编程了),注意看图,至于原理剖析,后面会讲。阅读时间大概3分钟 ! (合理利用碎片时间)
目录
- 演示demo目录结构
- 启动类
- webmvc控制层
- webflux控制层
- 总结
注意: 1,2,3,4主要是图片,主要展示demo的启动环境.
主要看3,4定义路由的方法! 和 5总结(请结合图)
1.目录结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sFRU6Lw9-1658487319160)(http://p3.pstatp.com/large/pgc-image/15298576856431fafc2b070)]
2.启动类定义
这里为了方便看到被Spring加载到的Bean故打印了一下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AiXwIMu3-1658487319160)(http://p3.pstatp.com/large/pgc-image/1529857780125525ae6352f)]
3.WebMVC控制层
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pxnAvUdo-1658487319160)(http://p3.pstatp.com/large/pgc-image/152985778007615cb57ab90)]
4.WebFlux控制层
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uULJzpUP-1658487319161)(http://p3.pstatp.com/large/pgc-image/152985778062336c024ca80)]
5.总结
传统Web层我们看到了熟悉的注解,不用介绍。
我们看下为什么Webflux没有用@Controller,注意这里使用配置的注解,将定义的RouterFunctions路由函数交给
Spring管理,我们这里的命名是customer-webflux-route-01
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kjSzMoyQ-1658487319161)(http://p3.pstatp.com/large/pgc-image/152985778073784d7c02466)]
看起来都很清爽,不过有几个类,在SpringBoot1.0是没有的,这里列举一下
-
ServerResponse 类似于HttpServletResponse (各位童鞋应该都知道,请忽略)
-
ServerRequest 类似于HttpServletRequest (各位童鞋应该都知道,请忽略)
-
Mono和 Flux 反应式编程核心类上文链接介绍 Springboot2.0中webflux到底优秀在哪里
-
RouteFunctions 将路由和处理方法连接
-
HandlerFunction 处理方法
-
RequestPredicates 定义请求方法,对请求方法的一些定义,比如权限或者对Headers的限制
下图结合route的源码,很生动将这五个类的关系描述描述出来
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DmV7n6HI-1658487319161)(http://p3.pstatp.com/large/pgc-image/15298581848400d818a312d)]
通过webmvc和Webflux控制层的简单demo,和WebFlux的常用类的演示,SpringBoot2.0的功能使用大概都已经表述清楚了,细节本文不做描述,下一篇主要讲这几个核心类的API使用细节! API代码比较多,所以分两篇展示。最后谢谢你的阅读,很高兴为你的碎片时间,传播一点知识。我们下篇见!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4zDPz5aP-1658487319161)(http://p3.pstatp.com/large/pgc-image/1529858942055186442ceee)]
文章来源: springlearn.blog.csdn.net,作者:西魏陶渊明,版权归原作者所有,如需转载,请联系作者。
原文链接:springlearn.blog.csdn.net/article/details/81075752
- 点赞
- 收藏
- 关注作者
评论(0)