框架知識(shí)性總結(jié)

SpingMVC的工作原理

一、首先,我們先來認(rèn)識(shí)一下SpringMVC的主要組件

前端控制器(DisatcherServlet):接收請(qǐng)求,響應(yīng)結(jié)果,返回可以是json,String等數(shù)據(jù)類型,也可以是頁面(Model)。

處理器映射器(HandlerMapping):根據(jù)URL去查找處理器,一般通過xml配置或者注解進(jìn)行查找。

處理器(Handler):就是我們常說的controller控制器啦,由程序員編寫。

處理器適配器(HandlerAdapter):可以將處理器包裝成適配器,這樣就可以支持多種類型的處理器。

視圖解析器(ViewResovler):進(jìn)行視圖解析,返回view對(duì)象(常見的有JSP,FreeMark等)。

二、SpingMVC的工作原理

下面是文字步驟說明:

1、用戶發(fā)送請(qǐng)求到前端控制器(DispatcherServlet)。

2、前端控制器請(qǐng)求處理器映射器(HandlerMapping)去查找處理器(Handler)。

3、找到以后處理器映射器(HandlerMappering)向前端控制器返回執(zhí)行鏈(HandlerExecutionChain)。

4、前端控制器(DispatcherServlet)調(diào)用處理器適配器(HandlerAdapter)去執(zhí)行處理器(Handler)。

5、處理器適配器去執(zhí)行Handler。

6、處理器執(zhí)行完給處理器適配器返回ModelAndView。

7、處理器適配器向前端控制器返回ModelAndView。

8、前端控制器請(qǐng)求視圖解析器(ViewResolver)去進(jìn)行視圖解析。

9、視圖解析器向前端控制器返回View。

10、前端控制器對(duì)視圖進(jìn)行渲染。

11、前端控制器向用戶響應(yīng)結(jié)果。


Spring中的用到的設(shè)計(jì)模式大全

1. 簡單工廠

又叫做靜態(tài)工廠方法(StaticFactory Method)模式,但不屬于23種GOF設(shè)計(jì)模式之一。

簡單工廠模式的實(shí)質(zhì)是由一個(gè)工廠類根據(jù)傳入的參數(shù),動(dòng)態(tài)決定應(yīng)該創(chuàng)建哪一個(gè)產(chǎn)品類。

Spring中的BeanFactory就是簡單工廠模式的體現(xiàn),根據(jù)傳入一個(gè)唯一的標(biāo)識(shí)來獲得Bean對(duì)象,但是否是在傳入?yún)?shù)后創(chuàng)建還是傳入?yún)?shù)前創(chuàng)建這個(gè)要根據(jù)具體情況來定。

2. 工廠方法(Factory Method)

定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類。Factory Method使一個(gè)類的實(shí)例化延遲到其子類。

Spring中的FactoryBean就是典型的工廠方法模式。

3. 單例(Singleton)

保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問它的全局訪問點(diǎn)。

Spring中的單例模式完成了后半句話,即提供了全局的訪問點(diǎn)BeanFactory。但沒有從構(gòu)造器級(jí)別去控制單例,這是因?yàn)镾pring管理的是是任意的Java對(duì)象。

4. 適配器(Adapter)

將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。

Spring中在對(duì)于AOP的處理中有Adapter模式的例子

還有包裝器(Decorator)、代理(Proxy)、觀察者(Observer)、策略(Strategy)、模板方法(Template Method)模式。


Spring中bean的作用域與生命周期

Bean的生命周期

Spring 事務(wù)中的隔離級(jí)別


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容