更新時間:2019-10-31 09:34:48 來源:動力節點 瀏覽2559次
小編收集了當前主流的以及正在興起的JavaWeb框架,以及對框架整合做了簡單介紹。
成熟的框架介紹
Hibernate框架
Hibernate是一種ORM框架,全稱為Object-RelativeDatabase-Mapping,在Java對象與關系型數據庫之間建立某種映射,以實現直接存取Java對象(POJO)。ORM框架是一種不同與MVC的另一種思想框架,適用范圍也與MVC截然不同。
使用JDBC連接來讀寫數據庫,我們最常見的就是打開數據庫連接、使用復雜的SQL語句進行讀寫、關閉連接,獲得的數據又需要轉換或封裝后往外傳,這是一個非常煩瑣的過程。
這時出現了Hibernate框架,它需要你創建一系列的持久化類,每個類的屬性都可以簡單的看做和一張數據庫表的屬性一一對應,當然也可以實現關系數據庫的各種表件關聯的對應。當我們需要相關操作是,不用再關注數據庫表。我們不用再去一行行的查詢數據庫,只需要持久化類就可以完成增刪改查的功能。使我們的軟件開發真正面向對象,而不是面向混亂的代碼。我的感受是,使用Hibernate比JDBC方式減少了80%的編程量。
Struts2框架
Struts2以WebWork優秀的設計思想為核心,吸收了Struts框架的部分優點,提供了一個更加整潔的MVC設計模式實現的Web應用程序框架
Struts2以WebWork優秀的設計思想為核心,吸收了Struts框架的部分優點,提供了一個更加整潔的MVC設計模式實現的Web應用程序框架。Struts2引入了幾個新的框架特性:從邏輯中分離出橫切關注點的攔截器、減少或者消除配置文件、貫穿整個框架的強大表達式語言、支持可變更和可重用的基于MVC模式的標簽API,Struts2充分利用了從其它MVC框架學到的經驗和教訓,使得Struts2框架更加清晰靈活。
Struts框架(目前已淘汰)
為了解決這些問題,出現了Struts框架,它是一個完美的MVC實現,它有一個中央控制類(一個Servlet),針對不同的業務,我們需要一個Action類負責頁面跳轉和后臺邏輯運算,一個或幾個JSP頁面負責數據的輸入和輸出顯示,還有一個Form類負責傳遞Action和JSP中間的數據。JSP中可以使用Struts框架提供的一組標簽,就像使用HTML標簽一樣簡單,但是可以完成非常復雜的邏輯。從此JSP頁面中不需要出現一行<%%>包圍的Java代碼了??墒撬械倪\算邏輯都放在Struts的Action里將使得Action類復用度低和邏輯混亂,所以通常人們會把整個Web應用程序分為三層,Struts負責顯示層,它調用業務層完成運算邏輯,業務層再調用持久層完成數據庫的讀寫。
MyBatis框架
MyBatis本是apache的一個開源項目iBatis,2010年這個項目由apachesoftwarefoundation遷移到了googlecode,并且改名為MyBatis。2013年11月遷移到Github。
iBATIS一詞來源于“internet”和“abatis”的組合,是一個基于Java的持久層框架。iBATIS提供的持久層框架包括SQLMaps和DataAccessObjects(DAOs)。
Spring框架
調用者依賴被調用者,它們之間形成了強耦合,如果我想在其他地方復用某個類,則這個類依賴的其他類也需要包含。程序就變得很混亂,每個類互相依賴互相調用,復用度極低。如果一個類做了修改,則依賴它的很多類都會受到牽連。為此,出現Spring框架。
Spring的作用就是完全解耦類之間的依賴關系,一個類如果要依賴什么,那就是一個接口。至于如何實現這個接口,這都不重要了。只要拿到一個實現了這個接口的類,就可以輕松的通過xml配置文件把實現類注射到調用接口的那個類里。所有類之間的這種依賴關系就完全通過配置文件的方式替代了。所以Spring框架最核心的就是所謂的依賴注射和控制反轉。
springMVC框架
SpringMVC屬于SpringFrameWork的后續產品,已經融合在SpringWebFlow里面。Spring框架提供了構建Web應用程序的全功能MVC模塊。使用Spring可插入的MVC架構,從而在使用Spring進行WEB開發時,可以選擇使用Spring的SpringMVC框架或集成其他MVC開發框架,如Struts1,Struts2等。
它是一個典型的教科書式的mvc構架,而不像struts等都是變種或者不是完全基于mvc系統的框架,對于初學者或者想了解mvc的人來說我覺得spring是最好的,它的實現就是教科書!第二它和tapestry一樣是一個純正的servlet系統,這也是它和tapestry相比struts所具有的優勢。而且框架本身有代碼,看起來容易理解。DataAccessObjects(DAOs)。
正在興起的框架
Jersey框架
JerseyRESTful框架是開源的RESTful框架,實現了JAX-RS(JSR311&JSR339)規范。它擴展了JAX-RS參考實現,提供了更多的特性和工具,可以進一步地簡化RESTfulservice和client開發。盡管相對年輕,它已經是一個產品級的RESTfulservice和client框架。與Struts類似,它同樣可以和hibernate,spring框架整合。
由于Struts2+hibernate+spring整合在市場的占有率太高,所以很少一部分人去關注Jersey。所以網上有關于Jersey的介紹很少。但是它確實是一個非常不錯的框架。對于請求式服務,對于GET,DELETE請求,你甚至只需要給出一個URI即可完成操作。
舉個簡單的例子:如果你想獲得服務器數據庫中的所有數據;那么你可以在瀏覽器或者利用Ajax的GET方法,將路徑設置好;例如:localhost:8080/Student(項目名稱)/studentinfo(項目服務總體前綴)/student(處理student對象的簽注)/getStudentInfo(最后前綴)。這樣就可以獲取所有學生信息。你可以選擇GET獲取的數據的返回類型:JSON,XML,TEXT_HTML(String)..獲取之后,你可以通過JS將這些數據塞到html或者jsp頁面上。
springboot框架
springboot框架,被稱作一棧式解決方案。比較輕量,也是當前微服務下的趨勢;springboot本身就是構建與spring之上,各種思想和特性無需多說,去掉了spring繁瑣的配置,簡化了原有spring開發的流程,提供了各種實用的特性如metric,actuctor等等;最重要的是springboot附帶了整個springcloud生態。兩個框架對你解決大,中,小項目都沒任何問題
play框架
play可能更加偏向于scala點,本身輕量性能高,隨著逐步的優化易用性以及擴展性都變得越來越好;
Vue.js框架
嚴格來說這個應該不屬于框架,從組建構造上來講是和reactjs類似的構造UI組件的。從整體邏輯來講,他要解決的是MVVM的VM這個部分,就是如何把應用程序的model和view聯系起來的這個VM(viewmodel)部分。眾所周知,MVC這個designpattern爭議大的就是這個C的部分,所以才有各種MV*的方案提出。他使用起來確實比reactjs簡單方便多了。代碼也清晰。借鑒了angularjs的declarative的特點。另外文檔,例子做的都很漂亮。上手比較快,這些都是很好的優點。
jfinal框架
JFinal是基于Java語言的極速web開發框架,其核心設計目標是開發迅速、代碼量少、學習簡單、功能強大、輕量級、易擴展、Restful。在擁有Java語言所有優勢的同時再擁有ruby、python等動態語言的開發效率。
框架整合
最初是Struts+Spring+Hibernate。
后來演變為Struts2+Spring+Hibernate。
后來隨著Spring的強大以及Struts漏洞上的等等問題,演變成為了Spring+SpringMVC+Hibernate/Mybatis互聯網這塊比較常見的是Mybatis。
最近也慢慢演變為了Springboot+Mybatis。
以上就是動力節點Java培訓機構小編介紹的“梳理目前JavaWeb主流及興起的框架(內涵視頻教程)”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
視頻相關
Spring視頻教程:http://www.dabaquan.cn/v38/
MyBatis視頻教程:http://www.dabaquan.cn/v41/
Struts2視頻教程:http://www.dabaquan.cn/v58/
Hibernate視頻教程:http://www.dabaquan.cn/v39/
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習