更新時(shí)間:2020-03-05 10:37:01 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2956次
在JavaEE的開(kāi)發(fā)過(guò)程中,時(shí)常會(huì)用到Web應(yīng)用程序的框架,SSH是曾經(jīng)一度比較熱門(mén)的框架,其作用同樣是為了搭建一個(gè)架構(gòu)清晰、有較好的可復(fù)用性、便于維護(hù)和管理的系統(tǒng)。具體來(lái)說(shuō),SSH是指Struts、Spring、Hibernate三大框架,Struts用來(lái)作為基礎(chǔ)性的架構(gòu),Hibernate用于數(shù)據(jù)的持久層,而Spring用來(lái)對(duì)前兩者進(jìn)行管理,編寫(xiě)基本的DAO接口。其實(shí),三大框架在實(shí)踐中也經(jīng)歷了不斷地進(jìn)化,從SSH框架發(fā)展為SSM框架,稍早的一些項(xiàng)目使用Spring、Struts2、Mybatis來(lái)寫(xiě),而現(xiàn)在一般情況下使用Spring、SpringMVC、Mybatis來(lái)做項(xiàng)目。總之,框架的基本功能相同,但經(jīng)歷了不斷地改進(jìn)。
首先回顧一下SSH框架的功能和用途,Hibernate是一個(gè)輕量級(jí)的持久框架,能夠較為完善地處理表與表之間的映射關(guān)系,同時(shí)能夠較好的封裝JDBC。在開(kāi)發(fā)數(shù)據(jù)庫(kù)的過(guò)程中寫(xiě)好接口的同時(shí)并不需要用大量的SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行交互操作。Struts作為MVC的Web層框架,對(duì)底層Servlet的大量封裝,可對(duì)業(yè)務(wù)邏輯調(diào)用的同時(shí)也擁有強(qiáng)大的攔截器機(jī)制。
三大框架之間的關(guān)系或流程基本是這樣的:按照J(rèn)SP——Struts——Service——Hibernate的順序。Struts調(diào)用Service,從而控制了Service的生命周期,加強(qiáng)了各層次之間的依賴性,在一定程度上也增加了耦合性。所以我們引用了Spring來(lái)作為框架中的容器,維護(hù)不同層次之間的關(guān)系。通過(guò)IOC反轉(zhuǎn)控制DI依賴注入完成各個(gè)層之間的注入,使得層與層之間實(shí)現(xiàn)完全脫耦,增加運(yùn)行效率利于維護(hù)。
說(shuō)起Spring,則不得不提AOP面向切面編程,運(yùn)用這一方法可達(dá)到在不改變代碼的情況下完成對(duì)方法增強(qiáng)的目的。尚學(xué)堂陳老師指出比較常用的就是Spring的聲明式事務(wù)管理,底層通過(guò)AOP實(shí)現(xiàn),避免了我們每次都要手動(dòng)開(kāi)啟事物,提交事務(wù)的重復(fù)性代碼,使得開(kāi)發(fā)邏輯更加清晰。知道以上這些應(yīng)付面試應(yīng)該可以了,不過(guò)面試官也會(huì)問(wèn)得細(xì)一些,例如Hibernate的懶加載以及Spring的AOP和IOC原理,等等。
以上回顧了SSH的基本功能和作用,在下面的講解中,會(huì)提到SSH的現(xiàn)狀和SSH框架為什么會(huì)被取代。
首先struts2框架存在一定的漏洞,在應(yīng)用和實(shí)施中對(duì)信息的安全有較大的隱患。在開(kāi)發(fā)中也有很多方面不夠便利,特別是JSR-311標(biāo)準(zhǔn)出臺(tái)之后,隨著Restful方式的流程程度普及開(kāi)來(lái),struts2逐漸淡出人們的視線,雖然struts2也加入了一些plugin來(lái)進(jìn)行支持REST,但在應(yīng)用的過(guò)程中也較為繁瑣。
其次是Spring以IOC為核心,在功能上做了一寫(xiě)擴(kuò)展,先后推出了SpringMVC來(lái)完成邏輯層的編寫(xiě)邏輯,現(xiàn)在SpringMVC基本已經(jīng)完成了替代struts2的工作,當(dāng)然,可能有一些老的項(xiàng)目還在用,但新開(kāi)發(fā)的項(xiàng)目幾乎已看不到。
SpringMVC獲得了開(kāi)發(fā)者的廣泛認(rèn)可,在SpringMVC和Web容器的基礎(chǔ)上,對(duì)二者的功能進(jìn)行了有機(jī)的結(jié)合,推出了SpringBoot,經(jīng)過(guò)幾年的發(fā)展,現(xiàn)在后端基本被Spring系列所統(tǒng)一。可以說(shuō),Spring系列在框架的優(yōu)化方面經(jīng)受住了考驗(yàn),被廣泛采用。Hibernate是一個(gè)對(duì)操作數(shù)據(jù)庫(kù)進(jìn)行映射的框架,它的替代品也很多,所以是否實(shí)施也需要看項(xiàng)目而定,其方便之處可能就在于對(duì)SQL的優(yōu)化上。
在當(dāng)前的開(kāi)發(fā)環(huán)境中,比較提倡前后端分離,但并非完全分離,而不是之前通過(guò)模版進(jìn)行分離,前后端數(shù)據(jù)交互是根據(jù)http進(jìn)行的。后端設(shè)計(jì)的接口趨向于Restful的架構(gòu),因?yàn)楝F(xiàn)在前端不僅僅是web端,在移動(dòng)互聯(lián)網(wǎng)時(shí)代,APP也是很大一部分。在后端看來(lái),APP客戶端無(wú)法通過(guò)模版進(jìn)行渲染的,只能通過(guò)http傳輸數(shù)據(jù)。Java后端技術(shù)有很多,如果想要提高,最好的方法還是多做項(xiàng)目多思考,對(duì)于SSH框架可用于參考,要把主要精力放在SpringMVC,掌握Spring的核心,然后深入了解一下Restful概念和JDBC的一些概念。堅(jiān)持下去應(yīng)該會(huì)有不小的收獲。
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java三大框架最新教程”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)