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

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

目录

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

注意: 1,2,3,4主要是图片,主要展示demo的启动环境.

主要看3,4定义路由的方法! 和 5总结(请结合图)

1.目录结构

2.启动类定义

这里为了方便看到被Spring加载到的Bean故打印了一下

3.WebMVC控制层

4.WebFlux控制层

5.总结

传统Web层我们看到了熟悉的注解,不用介绍。

我们看下为什么Webflux没有用@Controller,注意这里使用配置的注解,将定义的RouterFunctions路由函数交给

Spring管理,我们这里的命名是customer-webflux-route-01

扫描二维码关注公众号,回复: 2212156 查看本文章

看起来都很清爽,不过有几个类,在SpringBoot1.0是没有的,这里列举一下

  • ServerResponse 类似于HttpServletResponse (各位童鞋应该都知道,请忽略)

  • ServerRequest 类似于HttpServletRequest (各位童鞋应该都知道,请忽略)

  • Mono和 Flux 反应式编程核心类上文链接介绍 Springboot2.0中webflux到底优秀在哪里

  • RouteFunctions 将路由和处理方法连接

  • HandlerFunction 处理方法

  • RequestPredicates 定义请求方法,对请求方法的一些定义,比如权限或者对Headers的限制

下图结合route的源码,很生动将这五个类的关系描述描述出来

通过webmvc和Webflux控制层的简单demo,和WebFlux的常用类的演示,SpringBoot2.0的功能使用大概都已经表述清楚了,细节本文不做描述,下一篇主要讲这几个核心类的API使用细节! API代码比较多,所以分两篇展示。最后谢谢你的阅读,很高兴为你的碎片时间,传播一点知识。我们下篇见!


猜你喜欢

转载自blog.csdn.net/message_lx/article/details/81075752