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