先搞清:你为什么要学响应式
传统 Spring MVC 是“请求线程占用”模型,高并发下线程池容易打满,资源消耗大。Spring Boot WebFlux 引入响应式流(Reactive Streams),用非阻塞方式处理大量并发连接,特别适合 I/O 密集型场景(如网关、即时通讯、实时数据推送)。但这门课不是简单教你把代码改成 `Mono`/`Flux`,而是要让你理解**背压(Backpressure)、异步边界、不可变性**这些核心概念,否则写出来的代码反而会踩坑。
学习路径与节奏建议
这门课适合已经熟悉 Java 基础语法、了解 Spring Boot 基本用法(注解、依赖注入、REST 接口)的自学者。如果你还在纠结 `Map` 和 `List` 的区别,建议先补基础,不要硬上。
**建议先看这几块:**
- **第2、3章**(函数式编程与 Stream):响应式编程建立在 Lambda 和流操作之上,这部分是地基。如果已有 Java 8+ 经验,可快速过一遍,重点看 Stream 的延迟执行特性。
- **第4章**(Reactive Streams):这是全书最难也最关键的章节,讲清楚 `Publisher`、`Subscriber`、`Subscription`、`Processor` 四个接口,以及背压机制。看不懂别急,多画图,配合官方文档的图示理解。
- **第5、6章**(服务端与客户端):有了前序基础,再看 WebFlux 的 Router、Handler、Declarative Client,你会发现只是把之前的理念套用到框架中。
**可以跳过的部分:** 如果你对 Spring Cloud Gateway 或特定的响应式数据库驱动已有了解,可略读相关扩展内容,专注核心 API 即可。
学完能做什么,资料怎么配
学完后,你能独立搭建基于 WebFlux 的非阻塞 REST 服务,使用 `WebClient` 声明式调用外部 HTTP 接口,并能处理响应式数据库(如 R2DBC)的数据流。但要注意:**响应式编程并非银弹**,CPU 密集型任务用同步反而更简单高效,不要为了响应式而响应式。
课程配套资料中的示例代码建议边看边敲,尤其是第4章的背压测试实验和第6章的客户端声明式调用。不要只看视频,动手让 `Mono` 打印日志的位置对不上时,才是真正理解异步执行顺序的时刻。





