贝利信息

如何使用 Project Reactor 创建 Flux 和 Mono 序列

日期:2026-01-07 00:00 / 作者:冷炫風刃
Project Reactor 提供 Mono 和 Flux 两种响应式序列,可通过静态工厂方法(如 just、empty)、异步操作(fromCallable、fromFuture)、边界处理(defer、onErrorResume)及组合转换(zip、flatMap、concat)等方式创建与管理。

Project Reactor 是 Spring WebFlux 的核心响应式编程库,提供 Mono(0 或 1 个元素)和 Flux(0 到 N 个元素)两种响应式序列类型。创建它们的关键在于选择合适的静态工厂方法,并理解其语义差异。

从静态工厂方法创建基础序列

Reactor 提供了大量静态方法用于快速构建常见场景的序列:

从异步操作创建响应式序列

实际开发中,多数数据来自 I/O 或计算密集型任务,需用异步方式创建序列:

延迟、错误与空值处理的常见写法

创建序列时要主动考虑边界情况,避免运行时异常:

组合与转换已有序列

多数真实业务不会只靠“创建”,而是组合多个序列形成新流:

掌握这些创建方式后,就能根据数据来源(内存对象、同步方法、Future、定时器、集合等)准确选用对应 API。关键是理解每个工厂方法的触发时机(立即执行 vs 延迟执行)、错误传播行为和空值约定。