1、SpringWebFlux介绍
    (1)是Spring5添加新的模块,用于web开发的,功能SpringMVC类似的,Webflux使用当前一种比较流行响应式编程出现的框架
    (2)使用传统web框架,比如SpringMVC,这些基于Servlet容器,Webflux是一种异步非阻塞的框架,异步非阻塞的框架在Servlet3.1以后才支持,核心是基于Rector的相关API实现的
    (3)Webflux特点:

    • 非阻塞:在有限资源下,提高系统吞吐量和伸缩性,以Rector为基础实现响应式编程
    • 函数式编程:Spring5框架基于Java8,Webflux使用Java8函数式编程方式实现路由请求

    (4)比较SpringMVC
    image.png

    • 两个框架都可以使用注解方式,都运行在Tomcat等容器中
    • SpringMVC采用命令式编程,Webflux采用异步响应式编程

    2、响应式编程
    (1)响应式编程操作中,Reactor是满足Reactive规范框架
    (2)Reactor有两个核心类,Mono和Flux,这两个类实现接口Publisher,提供丰富操作符。Flux对象实现发布者,返回N个元素,Mono实现翻发布者,返回0或者1个元素
    (3)Flux和Mono都是数据流的发布者,使用Flux和Mono都可以发出三种数据型号:元素值,错误信号,完成信号,错误信号和完成信号都代表终止信号。
    3、Webflux执行流程和核心API
    4、SpringWebflux(基于注解编程模型)
    5、SpringWebflux(基于函数式编程模型)