手寫SpringMvc概要

灰客_ck發表於2020-10-26

在這裡插入圖片描述

1、spring的IOC會將所有xml、class載入到IOC容器中。
2、當有一個請求 /user/query?id=1&name=ckl 進來 DispatcherServlet
3、遍歷所有的 handlerMapping(處理器對映器),
1)有 SimpleUrlhandlermapping
2)BeanNameUrlHandlerMapping(遍歷BeanDefintion,帶有 ‘/’)
3)RequestMappingHandlerMapping(遍歷BeanDefintion,通過isAnnotationPresent(),檢查是否類是否使用了 Controller.class、RequestMapping.class)
4、遍歷 handlerMapping 後, 找到對應的 handler(處理器)
5、通過 handler 查詢到該handler的handlerAdapter(處理器介面卡)
6、handlerAdapter(處理器介面卡) 處理 該handler
1)獲取引數
2)通過反射呼叫處理器(handler)的方法
3)處理返回結果(model)
7、DispatcherSerlvet 通過 ViewResolver 找對對應的而檢視物件
8、View 將 model 渲染到 View(檢視)上面
9、返回給前端

相關文章