Spring MVC的優(yōu)點(diǎn)與核心接口_動力節(jié)點(diǎn)Java學(xué)院整理
為開發(fā)團(tuán)隊(duì)選擇一款優(yōu)秀的MVC框架是件難事兒,在眾多可行的方案中決擇需要很高的經(jīng)驗(yàn)和水平。你的一個決定會影響團(tuán)隊(duì)未來的幾年。要考慮方面太多:
1、簡單易用,以提高開發(fā)效率。使小部分的精力在框架上,大部分的精力放在業(yè)務(wù)上。
2、性能優(yōu)秀,這是一個最能吸引眼球的話題。
3、盡量使用大眾的框架(避免使用小眾的、私有的框架),新招聘來的開發(fā)人員有一些這方面技術(shù)積累,減低人員流動再適應(yīng)的影響。
如果你還在為這件事件發(fā)愁,本文最適合你了。選擇Spring MVC吧。
Spring MVC是當(dāng)前最優(yōu)秀的MVC框架,自從Spring 2.5版本發(fā)布后,由于支持注解配置,易用性有了大幅度的提高。Spring 3.0更加完善,實(shí)現(xiàn)了對Struts 2的超越。現(xiàn)在越來越多的開發(fā)團(tuán)隊(duì)選擇了Spring MVC。
Struts2也是非常優(yōu)秀的MVC構(gòu)架,優(yōu)點(diǎn)非常多比如良好的結(jié)構(gòu),攔截器的思想,豐富的功能。但這里想說的是缺點(diǎn),Struts2由于采用了值棧、OGNL表達(dá)式、struts2標(biāo)簽庫等,會導(dǎo)致應(yīng)用的性能下降,應(yīng)避免使用這些功能。而Struts2的多層攔截器、多實(shí)例action性能都很好。
Spring3 MVC的優(yōu)點(diǎn):
1、Spring3 MVC使用簡單,學(xué)習(xí)成本低。學(xué)習(xí)難度小于Struts2,Struts2用不上的多余功能太多。呵呵,當(dāng)然這不是決定因素。
2、Spring3 MVC很容易就可以寫出性能優(yōu)秀的程序,Struts2要處處小心才可以寫出性能優(yōu)秀的程序(指MVC部分)
3、Spring3 MVC的靈活是你無法想像的,Spring框架的擴(kuò)展性有口皆碑,Spring3 MVC當(dāng)然也不會落后,不會因使用了MVC框架而感到有任何的限制。
Struts2的眾多優(yōu)點(diǎn):
1、老牌的知名框架,從Struts1起積累了大量用戶群體。技術(shù)文檔豐富。
2、其它方面略... (呵呵,是不是不公平?)
Spring的官方下載網(wǎng)址是:http://www.springsource.org/download (本文使用是的Spring 3.0.5版本)
二、核心類與接口:
先來了解一下,幾個重要的接口與類?,F(xiàn)在不知道他們是干什么的沒關(guān)系,先混個臉熟,為以后認(rèn)識他們打個基礎(chǔ)。
DispatcherServlet -- 前置控制器
HandlerMapping接口 -- 處理請求的映射
HandlerMapping接口的實(shí)現(xiàn)類:
SimpleUrlHandlerMapping 通過配置文件,把一個URL映射到Controller
DefaultAnnotationHandlerMapping 通過注解,把一個URL映射到Controller類上
HandlerAdapter接口 -- 處理請求的映射
AnnotationMethodHandlerAdapter類,通過注解,把一個URL映射到Controller類的方法上
Controller接口 -- 控制器
由于我們使用了@Controller注解,添加了@Controller注解注解的類就可以擔(dān)任控制器(Action)的職責(zé),
所以我們并沒有用到這個接口。
HandlerInterceptor 接口--攔截器
無圖,我們自己實(shí)現(xiàn)這個接口,來完成攔截的器的工作。
ViewResolver接口的實(shí)現(xiàn)類
UrlBasedViewResolver類 通過配置文件,把一個視圖名交給到一個View來處理
InternalResourceViewResolver類,比上面的類,加入了JSTL的支持
View接口
JstlView類
LocalResolver接口
核心流程圖:
- Spring Boot配置接口WebMvcConfigurer的實(shí)現(xiàn)
- Spring MVC接口防數(shù)據(jù)篡改和重復(fù)提交
- spring MVC中接口參數(shù)解析的過程詳解
- SpringMVC編程使用Controller接口實(shí)現(xiàn)控制器實(shí)例代碼
- Springmvc Controller接口代碼示例
- SpringMVC Restful api接口實(shí)現(xiàn)的代碼
- Spring MVC 使用支付寶接口完成在線支付的示例代碼
- springMVC利用FastJson接口返回json數(shù)據(jù)相關(guān)配置詳解
- 基于Mock測試Spring MVC接口過程解析
相關(guān)文章
使用logstash同步mysql數(shù)據(jù)到elasticsearch實(shí)現(xiàn)
這篇文章主要為大家介紹了使用logstash同步mysql數(shù)據(jù)到elasticsearch實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12Spring Boot打開URL出現(xiàn)signin問題的解決
這篇文章主要介紹了Spring Boot打開URL出現(xiàn)signin問題的解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12Java中的CyclicBarrier循環(huán)柵欄解析
這篇文章主要介紹了Java中的CyclicBarrier循環(huán)柵欄解析,從字面上的意思可以知道,這個類的中文意思是"循環(huán)柵欄",大概的意思就是一個可循環(huán)利用的屏障,它的作用就是會讓所有線程都等待完成后才會繼續(xù)下一步行動,需要的朋友可以參考下2023-12-12sentinel整合ribbon與fallback流程分步講解
這篇文章主要介紹了sentinel整合ribbon與fallback分步流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08