1. 程式人生 > 其它 >SpringMVC-執行原理和原始碼解析

SpringMVC-執行原理和原始碼解析

基於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獲取處理器,再找到處理器介面卡,用介面卡執行

getHandler

getHandlerAdapter