【源码分析-Spring Boot】-13.Spring Boot WebFlux 工作流程及原理


Spring Boot WebFlux:【从零开始学Spring Boot】-14.Spring Boot WebFlux初体验

1.Spring WebFlux 运行流程

在 Spring Mvc 中处理核心类是 DispatcherServlet,在 Spring WebFlux 中则是 DispatcherHandler。

  1. 用户发送请求至请求处理器 DispatcherHandler。
  2. DispatcherHandler 收到请求调用 handle 方法,判断是否有 handlerMappings ,如果没有直接返回 404;否则执行下一步。
  3. 从 handlerMappings 找到一个处理当前请求的映射器 HandlerMapping,一般使用的是 url 映射器。
  4. 如果没有找到能处理当前请求的映射器,返回404;否则调用 HandlerMapping。
  5. 使用找到的映射器;并从 handlerAdapters 中找到一个适配器;调用适配器的 handle 方法。
  6. 调用完成返回 HandlerResult,里面封装了返回值,映射器,异常等信息。
  7. 将 handlerResult 返回给 DispatcherHandler。
  8. DispatcherHandler 处理返回的 HandleResult。
  9. 从 resultHandlers 中找到一个结果处理器。
  10. 返回这个结果处理器。
  11. 然后调用它的 handleResult 方法,生成响应信息。
  12. 将响应信息返回,比如直接输出的内容、设置到responseBody中的返回体或者渲染页面等。
  13. 将响应信息返回给 DispatcherHandler 。
  14. DispatcherHandler 返回响应给用户。

2.Spring WebFlux 运行原理


文章作者: Soulballad
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Soulballad !
评论
 上一篇
【从零开始学Spring Boot】-15.Spring Boot WebFlux路由 【从零开始学Spring Boot】-15.Spring Boot WebFlux路由
1.简介1.1 概述 In WebFlux.fn, an HTTP request is handled with a HandlerFunction: a function that takes ServerRequest and ret
下一篇 
【从零开始学Spring Boot】-14.Spring Boot WebFlux初体验 【从零开始学Spring Boot】-14.Spring Boot WebFlux初体验
1.简介1.1 概述 Spring WebFlux is the new reactive web framework introduced in Spring Framework 5.0. Unlike Spring MVC, it do
  目录