本篇文章是SpringBoot2.0关于Controller控制层的对比,相信很多开发最好奇的也是这块。那么小编就带着大家一起先来看一下尝尝鲜,本篇文章比较短小精悍,只讲如何使用,至于原理剖析,后面会讲。阅读时间大概3分钟,现在开始!
文章目录
- 一、演示目录结构
- 二、演示启动类定义
- 三、接口层对比
- 1. webmvc控制层
- 2. WebFlux控制层
一、演示目录结构
二、演示启动类定义
这里为了方便看到被Spring加载到的Bean故打印了一下
三、接口层对比
1. webmvc控制层
2. WebFlux控制层
传统Web层我们看到了熟悉的注解,不用介绍。
我们看下为什么Webflux没有用@Controller,注意这里使用配置的注解,
将定义的RouterFunctions路由函数交给Spring管理。
看起来都很清爽,不过有几个类,在SpringBoot1.0是没有的,这里列举一下
下图结合route的源码,很生动将这五个类的关系描述描述出来,
- Mono和 Flux 反应式编程核心类上面介绍
- RouteFunFunctions 将路由和处理方法连接
- HandlerFunction 处理方法
- RequestPredicates 定义请求方法,对请求方法的一些定义,如果权限
- ServerResponse 类似于HttpServletResponse
- ServerRequest 类似于HttpServletRequest