Java Web開發(fā)的用到的框架之多簡直令人發(fā)指,而且因為版本的更新?lián)Q代導致的問題也是層出不窮。然而這也是Web技術不斷演化的結果,要么選擇接受,要么引領節(jié)奏。
原來常用的Javaweb框架是SSH(Struts + Spring + Hibernate)后來隨著Spring的強大以及Struts漏洞上的等等問題,演變成為了Spring + SpringMVC + Hibernate/Mybatis?;ヂ?lián)網(wǎng)這塊比較常見的是Mybatis。再后來也慢慢演變?yōu)榱薙pringboot + Mybatis。
一、Struts2框架
Struts2以WebWork優(yōu)秀的設計思想為核心,吸收了 Struts框架的部分優(yōu)點,提供了一個更加整潔的MVC設計模式實現(xiàn)的Web 應用程序框架 Struts2以WebWork優(yōu)秀的設計思想為核心,吸收了 Struts框架的部分優(yōu)點,提供了一個更加整潔的MVC設計模式實現(xiàn)的Web 應用程序框架。
本詞條缺少信息欄、名片圖,補充相關內(nèi)容使詞條更完整,還能快速升級,趕緊來編輯吧!
Struts2引入了幾個新的框架特性:從邏輯中分離出橫切關注點的攔截器、減少或者消除配置文件、貫穿整個框架的強大表達式語言、支持可變更和可重用的基于MVC模式的標簽API, Struts2充分利用了從其它MVC框架學到的經(jīng)驗和教訓,使得 Struts2框架更加清晰靈活。
二、Spring框架
Spring是一個強大而又"輕量級"的Java開發(fā)框架,之所以打引號是因為感覺并不是那么輕量。Spring的主要目的在于簡化Java應用開發(fā),以配置方式代替硬編碼方式的編程,模塊解耦,其架構包括了數(shù)據(jù)訪問、遠程通信、AOP、核心容器等部分。
三、Hibernate框架
數(shù)據(jù)持久化框架其實也有很多,需要掌握的不僅是Hibernate,只是因為Hibernate在以前的企業(yè)級應用中用的比較多而已,另外MyBatis也占有相當重要的份額。Hibernate是一個全自動的持久化框架,并不是那么方便,所以很多開發(fā)者更傾向于使用MyBatis,淘寶就是這樣。
Hibernate 是一種ORM框架,全稱為 Object-Relative Database-Mapping,在Java對象與關系型數(shù)據(jù)庫之間建立某種映射,以實現(xiàn)直接存取Java對象(POJO)。ORM框架是一種不同與MVC的另一種思想框架,適用范圍也與MVC截然不同。
使用JDBC連接來讀寫數(shù)據(jù)庫,我們最常見的就是打開數(shù)據(jù)庫連接、使用復雜的SQL語句進行讀寫、關閉連接,獲得的數(shù)據(jù)又需要轉換或封裝后往外傳,這是一個非常煩瑣的過程。
這時出現(xiàn)了Hibernate框架,它需要你創(chuàng)建一系列的持久化類,每個類的屬性都可以簡單的看做和一張數(shù)據(jù)庫表的屬性一一對應,當然也可以實現(xiàn)關系數(shù)據(jù)庫的各種表件關聯(lián)的對應。當我們需要相關操作是,不用再關注數(shù)據(jù)庫表。我們不用再去一行行的查詢數(shù)據(jù)庫,只需要持久化類就可以完成增刪改查的功能。使我們的軟件開發(fā)真正面向對象,而不是面向混亂的代碼。我的感受是,使用Hibernate比JDBC方式減少了80%的編程量。
4、 Spring MVC框架
Spring MVC是一種基于Java的實現(xiàn)了Web MVC設計模式的請求驅動類型的輕量級Web框架,即使用了MVC架構模式的思想,將web層進行職責解耦,基于請求驅動指的就是使用請求-響應模型,框架的目的就是幫助我們簡化開發(fā),Spring Web MVC也是要簡化我們?nèi)粘eb開發(fā)的。
5、 Mybatis框架
MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架。MyBatis 消除了幾乎所有的JDBC代碼和參數(shù)的手工設置以及結果集的檢索。
MyBatis 使用簡單的 XML或注解用于配置和原始映射,將接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java對象)映射成數(shù)據(jù)庫中的記錄。
MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,并且改名為MyBatis 。2013年11月遷移到Github。
iBATIS一詞來源于“internet”和“abatis”的組合,是一個基于Java的持久層框架。iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAOs)。
六、Springboot框架
springboot 框架,被稱作一棧式解決方案。比較輕量,也是當前微服務下的趨勢;springboot本身就是構建與spring之上,各種思想和特性無需多說,去掉了spring繁瑣的配置,簡化了原有spring開發(fā)的流程,提供了各種實用的特性如metric,actuctor等等;重要的是springboot附帶了整個springcloud生態(tài)。兩個框架對你解決大,中,小項目都沒任何問題。
在眼花繚亂的流行Java web框架中挑選出適合自己的框架可不是一項簡單的任務,因為每個公司在創(chuàng)建自己的Web應用程序和移動應用程序時都有自己堅持的理念,所以要根據(jù)自己當前工作的需要掌握相應的框架。