Spring Webflux:入门

主要观点:介绍如何开始使用 Spring Webflux,包括按错误顺序做事后的经验总结,以及详细讲解 Reactive Streams、Project Reactor 与 Spring Webflux 的关系,给出多个 Spring Webflux 的示例及相关代码和调试过程。
关键信息:

  • Reactive Streams 的基础在Reactive Manifesto,是异步流处理的标准,其规范在GitHub,包含 Publisher、Subscriber 等元素,Java 9 已包含 Flow API 且接口相同。
  • Project Reactor是基于 Reactive Streams 规范的 reactive 库,Spring Webflux 基于 Project Reactor。
  • Spring Webflux 在 Spring 5 引入,有注解和函数式两种使用方式,与 Spring MVC 并存,Spring MVC 用于同步处理,Spring Webflux 用于异步处理。
  • Spring Webflux 入门示例需添加 Milestones 仓库、使用 spring-boot-starter-webflux 依赖、添加 module-info 等,默认使用 Netty Webserver。
  • 基本示例需创建 ExampleRouter 和 ExampleHandler,注意 Router Bean 名称要唯一,可链式调用多个路由到不同处理方法,还可添加带参数的路由及相关测试。
    重要细节:
  • 开始阅读 Spring Webflux 时顺序有误,本文旨在提供入门计划,示例可在GitHub找到。
  • 不同阶段的示例代码及调试过程,如添加仓库、修改依赖、添加 module-info 等,以及不同 URL 访问的结果和相关错误信息。
  • 单元测试的创建和验证,如使用 WebTestClient 进行测试,注意正确使用方法如 isEqualTo 等。
阅读 7
0 条评论