SpringMVC-執行原理和原始碼解析
阿新 • • 發佈:2022-03-09
基於SpringBoot版本如下:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.2</version> <relativePath/> <!-- lookup parent from repository --> </parent>
執行原理
關鍵原始碼解析
處理器和介面卡的bean是在WebMvcAutoConfiguration
的內部類 EnableWebMvcConfiguration
裡配置的。
1、獲取應用上下文資訊
使用ApplicationContextAware#setApplicationContext
的方法初始化應用上下文
2、初始化URL對映處理器
使用InitializingBean#afterPropertiesSet
初始化獲取所有url和處理器的對映
3、DispatcherServlet初始化
當接收到第一個請求時進行初始化,HttpServlet#init
--> DispatcherServlet#onRefresh
然後處理請求,執行
doDispatch
方法initHandlerMappings
initHandlerAdapters
4、執行doDispatch
方法
通過URL獲取處理器,再找到處理器介面卡,用介面卡執行