1. 程式人生 > >SpringMVC handlerMapping和handlerAdapter

SpringMVC handlerMapping和handlerAdapter

1.HandlerMapping
介紹:
Spring mvc 使用HandlerMapping來找到並儲存url請求和處理函式間的mapping關係

舉例:
DefaultAnnotationHandlerMapping:將掃描當前所有已經註冊的spring beans中的@requestmapping標註以找出url 和 handler method處理函式的關係並予以關聯。

2.Handleradapter
介紹:
Spring MVC 通過HandlerAdapter來實際呼叫處理函式

舉例:
AnnotationMethodHandlerAdapter:DispatcherServlet中根據handlermapping找到對應的handler method後,首先檢查

當前工程中註冊的所有可用的handlerAdapter,根據handlerAdapter中的supports方法找到可以使用的handlerAdapter。通過呼叫handlerAdapter中的handle方法來處理及準備handler method中的引數及annotation(這就是spring mvc如何將reqeust中的引數變成handle method中的輸入引數的地方),最終呼叫實際的handle method。