21、SpringBoot2.x源码分析:SpringMVC源码之DispatcherServlet初始化三

本文深入解析Spring Boot 2.2.6中SpringMVC核心DispatcherServlet的初始化过程,涵盖initHandlerAdapters、initHandlerExceptionResolvers、initViewResolvers等关键步骤,通过流程图和源码分析,帮助开发者理解SpringMVC的启动机制与组件装配原理。

Spring Boot 2.2.6 源码之旅二十一SpringMVC源码之DispatcherServlet初始化三

  • 基本流程图,方便查看
  • initHandlerAdapters
  • initHandlerExceptionResolvers
  • initRequestToViewNameTranslator
  • initViewResolvers
  • initFlashMapManager

基本流程图,方便查看

 

initHandlerAdapters

这个跟上initHandlerMappings一样,所以就不啰嗦了,至于这些类哪里来的,还是在WebMvcAutoConfiguration或者其子类WebMvcConfigurationSupport中,自己可以看看。
 

initHandlerExceptionResolvers

这个也一样:
 
只是DefaultErrorAttributes是从ErrorMvcAutoConfiguration来的:
 

initRequestToViewNameTranslator

这个是要从默认里找的:
 

initViewResolvers

这个找了5个,只是其中ThymeleafViewResolver是第三方Thymeleaf的自动配置类ThymeleafAutoConfiguration中的ThymeleafWebMvcConfiguration中的,他也是实现ViewResolver接口的。
 
 

initFlashMapManager

这个也是默认的:
 

至此DispatcherServlet的初始化基本完成,接下去就开始讲核心的处理啦。

好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵。