摘要:本系列文章是基于。說(shuō)這么多就是想解釋下什么是適配器。本節(jié)我們主要從整體以及概念上闡述了的,后續(xù)會(huì)逐個(gè)分析提供的四種適配器,希望本節(jié)對(duì)大家能有幫助,謝謝。最后創(chuàng)建了群方便大家交流,可掃描加入,同時(shí)也可加我,共同學(xué)習(xí)共同進(jìn)步,謝謝
概述
本章開(kāi)始,我們分析Spring MVC的另一個(gè)重要組件,即HandlerAdapter,從命名上我即可直觀的理解為處理器適配器,那么處理器適配器是什么意思?Spring MVC為什么要使用處理器適配器即其要解決什么問(wèn)題?以及Spring提供了哪些處理器適配器?帶著這些問(wèn)題,我們進(jìn)行下面的分析。
本系列文章是基于Spring5.0.5RELEASE。
處理器適配器是什么在介紹處理器適配器之前,我們先介紹什么是適配器,望文生義我們可以知道就是做適配的東西,比如在智能手機(jī)之前,我們用的手機(jī)五花八門,每種手機(jī)都對(duì)應(yīng)著相應(yīng)的充電器(有直充和座充),不同類型手機(jī)的充電器不能使用,當(dāng)時(shí)市場(chǎng)有一款叫“萬(wàn)能充電器”的設(shè)備,它就是適配不通類型手機(jī)電池的,以達(dá)到使用相同設(shè)備為不同手機(jī)充電的要求。再比如現(xiàn)在筆記本電腦上幾乎都沒(méi)有VGA接口,在進(jìn)行接入投影是,需要一個(gè)HDMI轉(zhuǎn)VGA的轉(zhuǎn)換器,這個(gè)設(shè)備也是為了適配投影儀接入的。說(shuō)這么多就是想解釋下什么是適配器。
那么處理器適配器又是什么呢?在Spring MVC中可以支持多種處理器(處理器也就是處理用戶請(qǐng)求的程序),各種處理器中的處理方法各不相同,Spring為了解決適應(yīng)多種處理器,定義了處理器適配器的概念,也就是我們所說(shuō)的HandlerAdapter。
處理器適配器作用Spring MVC為我們提供了多種處理用戶的處理器(Handler),Spring實(shí)現(xiàn)的處理器類型有Servlet、Controller、HttpRequestHandler以及注解類型的處理器,即我們可以通過(guò)實(shí)現(xiàn)這些接口或者注解我們的類來(lái)使用這些處理器,那么針對(duì)不同類型的處理器,如何將用戶請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)類型的處理器方法中的呢,這就需求Spring MVC的處理器適配器來(lái)完成適配操作,這就是處理器適配器要完成的工作。
Spring提供的處理器適配器Spring為我們提供了四種處理器適配器,如下圖:
SimpleServletHandlerAdapter 適配Servlet處理器
HttpRerquestHandlerAdapter 適配HttpRequestHandler處理器
RequestMappingHandlerAdapter 適配注解處理器
SimpleControllerHandlerAdapter 適配Controller處理器
Spring MVC默認(rèn)使用的處理器適配器為:HttpRequestHandlerAdapter、SimpleServletHandlerAdapter、RequestMappingHandlerAdapter三種。
總結(jié)Spring HandlerAdapter是適配器模式的實(shí)現(xiàn),它的好處就是易擴(kuò)展,在我們想增加一種處理時(shí),只需要實(shí)現(xiàn)HandlerApapter就可以了,不用動(dòng)任何其他存在的代碼,這種模式符合開(kāi)閉原則。
本節(jié)我們主要從整體以及概念上闡述了Spring的HandlerAdapter,后續(xù)會(huì)逐個(gè)分析Spring提供的四種適配器,希望本節(jié)對(duì)大家能有幫助,謝謝。
最后創(chuàng)建了qq群方便大家交流,可掃描加入,同時(shí)也可加我qq:276420284,共同學(xué)習(xí)、共同進(jìn)步,謝謝!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/69529.html
摘要:概述本章我們主要分析處理組件的處理流程以及其接口源碼。概括來(lái)說(shuō),使用組件分為兩步,首先是注冊(cè)組件,其次是處理用戶請(qǐng)求,以下針對(duì)這兩個(gè)過(guò)程進(jìn)行詳細(xì)的分析。本系列文章是基于。接下來(lái)的幾章將分析提供的適配策略,希望本節(jié)對(duì)大家能有幫助,謝謝。 概述 本章我們主要分析Spring處理HandlerAdapter組件的處理流程以及其接口源碼。概括來(lái)說(shuō),Spring使用HandlerAdapter組...
摘要:概述回顧上兩章,我們主要分析了的概念作業(yè)以及如何使用的組件,本節(jié)以及后續(xù)幾章,將介紹為我們提供的的具體實(shí)現(xiàn)類,基于源碼和設(shè)計(jì)層面進(jìn)行介紹,歡迎大家關(guān)注。本系列文章是基于。 概述 回顧上兩章,我們主要分析了HandlerAdapter的概念、作業(yè)以及Spring MVC如何使用的HandlerAdapter組件,本節(jié)以及后續(xù)幾章,將介紹Spring為我們提供的HandlerAdapter...
摘要:?jiǎn)栴}來(lái)了,我們到底還在用嗎答案是,不全用。后者是初始化的配置,主要是的配置。啟動(dòng)類測(cè)試啟動(dòng)項(xiàng)目后,在瀏覽器里面輸入。通過(guò)查詢已裝載的,并且支持該而獲取的。按照前面對(duì)的描述,對(duì)于而言,這個(gè)必定是。的核心在的方法中。 之前已經(jīng)分析過(guò)了Spring的IOC(《零基礎(chǔ)帶你看Spring源碼——IOC控制反轉(zhuǎn)》)與AOP(《從源碼入手,一文帶你讀懂Spring AOP面向切面編程》)的源碼,本次...
摘要:概述本章開(kāi)始進(jìn)入另一重要的組件,即視圖組件,處理視圖組件使用兩個(gè)主要的接口是和。接口的作用是用于處理視圖進(jìn)行渲染。延用之前的介紹流程,本章分兩部分進(jìn)行闡述啟動(dòng)初始化和請(qǐng)求處理。 概述 本章開(kāi)始進(jìn)入另一重要的組件,即視圖組件,Spring MVC處理視圖組件使用兩個(gè)主要的接口是ViewResolver和View。根據(jù)名稱可知,ViewResolver即視圖解析器,其作用是把邏輯視圖名稱解...
摘要:處理器是繼前端控制器的后端控制器,在的控制下對(duì)具體的用戶請(qǐng)求進(jìn)行處理。由于涉及到具體的用戶業(yè)務(wù)請(qǐng)求,所以一般情況需要程序員根據(jù)業(yè)務(wù)需求開(kāi)發(fā)。 1、mcv整體架構(gòu)和流程 showImg(https://segmentfault.com/img/bV55Qq?w=860&h=406); 用戶發(fā)送請(qǐng)求至前端控制器 DispatcherServlet DispatcherServlet 收到...
閱讀 1480·2021-11-16 11:44
閱讀 3298·2021-09-29 09:43
閱讀 631·2019-08-30 10:52
閱讀 952·2019-08-29 11:01
閱讀 3265·2019-08-26 11:47
閱讀 2899·2019-08-23 12:18
閱讀 1372·2019-08-22 17:04
閱讀 2058·2019-08-21 17:04