(1)SpringWebflux 基于 Reactor,默认使用容器是 Netty,Netty 是高性能的 NIO 框架,异步非阻塞的框架
(2)SpringWebflux 执行过程和 SpringMVC 相似的SpringWebflux 核心控制器 DispatchHandler,实现接口 WebHandler 接口 WebHandler 有一个方法
(3)SpringWebflux 里面 DispatcherHandler,负责请求的处理
* HandlerMapping:请求查询到处理的方法
* HandlerAdapter:真正负责请求处理
* HandlerResultHandler:响应结果处理
(4)SpringWebflux 实现函数式编程,两个接口:RouterFunction(路由处理) 和 HandlerFunction(处理函数)
SpringMVC 方式实现,同步阻塞的方式,基于 SpringMVC+Servlet+Tomcat
SpringWebflux 方式实现,异步非阻塞 方式,基于 SpringWebflux+Reactor+Netty
SpringWebflux的2种编程模型
SpringWebflux(基于注解编程模型)
SpringWebflux 实现方式有两种:注解编程模型和函数式编程模型
使用注解编程模型方式,和之前 SpringMVC 使用相似的,只需要把相关依赖配置到项目中,
SpringBoot 自动配置相关运行容器,默认情况下使用 Netty 服务器
SpringWebflux(基于函数式编程模型)
(1)在使用函数式编程模型操作时候,需要自己初始化服务器
(2)基于函数式编程模型时候,有两个核心接口:RouterFunction(实现路由功能,请求转发
给对应的 handler)和 HandlerFunction(处理请求生成响应的函数)。核心任务定义两个函数
式接口的实现并且启动需要的服务器。
( 3 ) SpringWebflux 请 求 和 响 应 不 再 是 ServletRequest 和 ServletResponse ,而是
ServerRequest 和 ServerResponse