SpringBoot2.0中MVC和WebFlux控制层Controller对比

举报
西魏陶渊明 发表于 2022/09/25 02:02:26 2022/09/25
【摘要】 本篇文章是SpringBoot2.0关于Controller控制层的对比,相信很多开发最好奇的也是这块。那么小编就带着大家一起先来看一下,尝尝鲜,本篇文章比较短小精悍,只讲如何使用(前面一直在讲概念...

本篇文章是SpringBoot2.0关于Controller控制层的对比,相信很多开发最好奇的也是这块。那么小编就带着大家一起先来看一下,尝尝鲜,本篇文章比较短小精悍,只讲如何使用(前面一直在讲概念,从这篇开始以后都是编程了),注意看图,至于原理剖析,后面会讲。阅读时间大概3分钟 ! (合理利用碎片时间)

目录

  1. 演示demo目录结构
  2. 启动类
  3. webmvc控制层
  4. webflux控制层
  5. 总结

注意: 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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。