Spring WebFlux请求处理流程

网站建设4年前发布
41 0 0
20230306105328c312d14575fe7a6ef5a13334520c6b490d21ad108,自动配置:,这个自动配置与DispatcherServletAutoConfiguration相对应;HttpHandler是WebFlux环境下的核心处理器类。,其中这里的WebHttpHandlerBuilder.applicationContext(this.applicationContext).build()代码就是用来构建HttpWebHandlerAdapter对象。,核心处理类 HttpWebHandlerAdapter。,一个请求是如何通过上面的HttpWebHandlerAdapter执行调用处理的?,容器在启动执行refresh核心方法:,getDelegate方法返回的调用的是父类WebHandlerDecorator方法:,这里的delegate是谁?,自动配置:,通过上面的源码应该非常清楚HttpWebHandlerAdapter对象创建的过程及该对象都会写什么东西。,到此你应该清楚了,上面一开始说的getDelegate()方法返回的就是ExceptionHandlingWebHandler对象。,在这里的DelegatingWebFluxConfiguration的父类WebFluxConfigurationSupport中创建了webHandler名称的DispatcherHandler对象。,到此HttpWebHandlerAdapter#handle中执行的getDelegate方法返回的是ExceptionHandlingWebHandler对象。,接下来就是执行ExceptionHandlingWebHandler的handle方法了。,2023030610543418dffd571320bdd6681857be031e5ee1d5b20f115,其实接下来的过程就和Spring WebMVC的执行大致相同。,通过HandlerAdapter调用处理程序的返回值被包装为HandlerResult,并传递给声称支持它的第一个HandlerResultHandler。下表显示了可用的HandlerResultHandler实现,所有这些实现都在WebFlux配置中声明:,202303061053293955adb26b6c08ab5511393531cbf2573dbb71401
© 版权声明

相关文章