此版本仍在开发中,尚未被视为稳定版。如需最新稳定版本,请使用 Spring Framework 7.0.6spring-doc.cadn.net.cn

响应式库

spring-webflux 依赖于 reactor-core,并在内部使用它来组合异步逻辑并提供对 Reactive Streams 的支持。通常,WebFlux API 会返回 FluxMono(因为它们在内部被使用),并且宽松地接受任何 Reactive Streams Publisher 实现作为输入。 当提供 Publisher 时,它只能被视为具有未知语义(0..N)的流。 然而,如果语义已知,您应该使用 FluxMono.from(Publisher) 对其进行包装,而不是直接传递原始的 Publisher。 使用 Flux 还是 Mono 非常重要,因为它有助于表达基数——例如,预期是单个还是多个异步值,这对于做出决策(例如在编码或解码 HTTP 消息时)至关重要。spring-doc.cadn.net.cn

对于带注解的控制器,WebFlux 会透明地适配应用程序所选的响应式库。这是借助 ReactiveAdapterRegistry 实现的,该组件为响应式库及其他异步类型提供了可插拔的支持。注册表内置支持 RxJava 3、Kotlin 协程和 SmallRye Mutiny,但您也可以注册其他库。spring-doc.cadn.net.cn