2 回答

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
Spring MVC是spring的一個(gè)web組件,它為構(gòu)建穩(wěn)健的web應(yīng)用提供了豐富的功能。
1、首先用戶(hù)發(fā)送請(qǐng)求>DispatcherS :rvlet,前端控制器收到請(qǐng)求后自己不進(jìn)行處理,而是委托給其他的解析器進(jìn)行處理,作為統(tǒng)一訪問(wèn)點(diǎn),進(jìn)行全局的流程控制;
2、D ispatcherServletHandeM ping HandlerMapping 將會(huì)把請(qǐng)求映射為HandlerExecutio
nChain 對(duì)象(包含一個(gè)Handler 處理器(頁(yè)面控制器)對(duì)象、多個(gè)HandlerInterceptor 攔截器象,通過(guò)這種策略模式,很容易添加新的映射策略;
3、DispatcherServetHanderdapte HandlerAdapter 將會(huì)把處理器包裝為適配器,從而支持
多種類(lèi)型的處理器,即適配器設(shè)計(jì)模式的應(yīng)用,從而很容易支持很多類(lèi)型的處器;
4、HandlerAdapter處理器功能處理方法的調(diào)用HandlerAdapter將會(huì)根據(jù)適配的結(jié)果調(diào)用真正的處理器的功能處理方法完成功能處理并返回一個(gè)ModelAndView 對(duì)象( 包含模型數(shù)據(jù)、邏輯視圖名) ;
5、Mode AndVlew 的邏輯視圖名VewResover ViewResolver 將把邏輯視圖名解析為具體的Vie
w 通過(guò)這種策略模式很容易更換其他視圖技術(shù);
6、V lew >渲染View 會(huì)根據(jù)傳進(jìn)來(lái)的Model 模型數(shù)據(jù)進(jìn)行渲染此處的Model 實(shí)際是一個(gè)Map
數(shù)據(jù)結(jié)構(gòu)因此很容易支持其他視圖技術(shù)遠(yuǎn)回控制獎(jiǎng)會(huì)D spatchersery et 三Dispatcherservet 近回鳴應(yīng)給用戶(hù)到此一個(gè)流程結(jié)束。

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
一、 IoC(Inversion of control): 控制反轉(zhuǎn)
1、IoC:
概念:控制權(quán)由對(duì)象本身轉(zhuǎn)向容器;由容器根據(jù)配置文件去創(chuàng)建實(shí)例并創(chuàng)建各個(gè)實(shí)例之間的依賴(lài)關(guān)系
核心:bean工廠;在Spring中,bean工廠創(chuàng)建的各個(gè)實(shí)例稱(chēng)作bean
二、AOP(Aspect-Oriented Programming): 面向方面編程
1、 代理的兩種方式:
靜態(tài)代理:
? 針對(duì)每個(gè)具體類(lèi)分別編寫(xiě)代理類(lèi);
? 針對(duì)一個(gè)接口編寫(xiě)一個(gè)代理類(lèi);
動(dòng)態(tài)代理:
針對(duì)一個(gè)方面編寫(xiě)一個(gè)InvocationHandler,然后借用JDK反射包中的Proxy類(lèi)為各種接口動(dòng)態(tài)生成相應(yīng)的代理類(lèi)
2、 AOP的主要原理:動(dòng)態(tài)代理
Spring工作原理
Spring 已經(jīng)用過(guò)一段時(shí)間了,感覺(jué)Spring是個(gè)很不錯(cuò)的框架。內(nèi)部最核心的就是IOC了,
動(dòng)態(tài)注入,讓一個(gè)對(duì)象的創(chuàng)建不用new了,可以自動(dòng)的生產(chǎn),這其實(shí)就是利用java里的反射
反射其實(shí)就是在運(yùn)行時(shí)動(dòng)態(tài)的去創(chuàng)建、調(diào)用對(duì)象,Spring就是在運(yùn)行時(shí),跟xml Spring的配置
文件來(lái)動(dòng)態(tài)的創(chuàng)建對(duì)象,和調(diào)用對(duì)象里的方法的 。
Spring還有一個(gè)核心就是AOP這個(gè)就是面向切面編程,可以為某一類(lèi)對(duì)象 進(jìn)行監(jiān)督和控制(也就是
在調(diào)用這類(lèi)對(duì)象的具體方法的前后去調(diào)用你指定的 模塊)從而達(dá)到對(duì)一個(gè)模塊擴(kuò)充的功能。這些都是通過(guò)
配置類(lèi)達(dá)到的。
Spring目的:就是讓對(duì)象與對(duì)象(模塊與模塊)之間的關(guān)系沒(méi)有通過(guò)代碼來(lái)關(guān)聯(lián),都是通過(guò)配置類(lèi)說(shuō)明
管理的(Spring根據(jù)這些配置 內(nèi)部通過(guò)反射去動(dòng)態(tài)的組裝對(duì)象)
要記?。篠pring是一個(gè)容器,凡是在容器里的對(duì)象才會(huì)有Spring所提供的這些服務(wù)和功能。
Spring里用的最經(jīng)典的一個(gè)設(shè)計(jì)模式就是:模板方法模式。(這里我都不介紹了,是一個(gè)很常用的設(shè)計(jì)模式)
Spring里的配置是很多的,很難都記住,但是Spring里的精華也無(wú)非就是以上的兩點(diǎn),把以上兩點(diǎn)跟理解了
也就基本上掌握了Spring.
添加回答
舉報(bào)