## 什么是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