## 什么是Reactor
`Reactor`是基于[Reactive Streams](https://github.com/reactive-streams/reactive-streams-jvm)的第四代反应式库规范实现,用于在`JVM`上构建非阻塞应用程序。`Spring WebFlux`中集成的是`Reactor3.0`。
</br>
官网地址:[https://projectreactor.io/](https://projectreactor.io/)
`Reactor`项目的主要核心库是`reactor-core`,这是一个专注于`Reactive Streams`规范的反应式库,`java`版本要求`java8+`。
</br>
`Reactor`引入`Publisher`的可组合反应式类型,但也提供了丰富的运算符词汇表:`Flux`和`Mono`。`Flux`对象表示一个`0..N`个元素的反应式序列。而`Mono`对象表示单值或空`(0..1)`结果。
</br>
2者的区别在类型中包含了一些语义信息,指示异步处理的大致基数。例如,一个`HTTP`请求只产生一个响应,因此进行计数操作没有多大意义。因此,将这样一个`HTTP`调用的结果表示为`Mono<HttpResponse>`比将其表示为`Flux<HttpResponse>`更有意义,因为它只提供了与`0`项或`1`项上下文相关的操作符。
</br>
更改处理的最大基数的操作符也切换到相关类型。例如,`count`操作符存在于`Flux`中,但它返回`Mono<Long>`。
</br>
- 1.反应式编程概述
- 2.Reactor框架
- Flux
- Mono
- 订阅(Subscribe)
- 编程创建序列
- 线程和调度器
- 错误处理
- 3.Spring WebFlux概述
- 4.Spring WebFlux核心组件
- HttpHandler
- WebHandler
- ServerWebExchange
- 编码和解码器
- JSON
- Form Data
- Multipart Data
- 过滤器
- 异常处理器
- DispatcherHandler
- 5.Spring Boot启动WebFlux
- 6.Spring WebFlux注解控制器
- 请求映射
- 处理程序方法
- 方法参数
- 返回值
- 类型转换
- 模型(Model)
- 数据绑定(DataBinder)
- 异常管理
- @ControllerAdvice
- 7.Spring WebFlux函数端点
- HandlerFunction
- RouterFunction
- 运行服务
- 函数过滤器
- 8.Spring Boot中使用函数端点
- 9.Spring Webflux请求处理流程
- 10.Spring WebFlux配置
- 11.Spring WebFlux使用R2DBC访问MySQL
- 12.Spring WebFlux访问Redis
- 13.Spring WebFlux访问MongoDB
- 14.Spring WebFlux集成Thymeleaf
- 15.Spring WebFlux集成FreeMarker
- 16.Spring WebFlux WebClient
- 17.Spring WebFlux WebSocket
- 18.测试
- 19.RSocket