雖然Java一直被唱衰,傳言即將被Python代替,但是不可否認(rèn)的是,傳言只能是傳言,直到現(xiàn)在Java軟件開發(fā)也堅(jiān)持霸主地位不可動搖,毫無疑問,Java依舊是最熱門的編程語言之一。作為一名優(yōu)秀的Java開發(fā)程序猿,以下Java開發(fā)中主流的框架和正在興起的框架你都會哪些快來看看吧。
Spring MVC框架
中國有句俗話“姜還是老的辣”,所以Spring MVC雖然發(fā)布已經(jīng)有十多年的歷史,但是依舊老當(dāng)益壯,以絕對的優(yōu)勢處于領(lǐng)先者的地位。
Spring MVC屬于Spring frameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面,Spring框架提供了構(gòu)建Web應(yīng)用程序的全功能MVC模塊,使用Spring可插入MVC架構(gòu),所以在使用Spring進(jìn)行Web開發(fā)時,可以選擇使用Spring的Spring MVC框架或集成其他MVC開發(fā)框架,比如Struts1,Struts2等。
優(yōu)點(diǎn)和缺點(diǎn)
Spring以絕對的優(yōu)勢登頂不是沒有理由的,之所以能夠成為最知名的Java框架主要是
1、使用POJO簡化測試數(shù)據(jù)的注入
2、增強(qiáng)的模塊化,讓代碼擁有更好的可讀性
3、不同模塊之間解耦合
4、靈活應(yīng)用依賴注入(DI)
雖然SpringMVC網(wǎng)上的信息比較多,但是版本不同也會有差異??傮w來說SpringMVC是工程師最喜愛的框架之一。
Struts2框架
Struts2以WebWork優(yōu)秀的設(shè)計(jì)思想為核心,吸收了 Struts框架的部分優(yōu)點(diǎn),提供了一個更加整潔的MVC設(shè)計(jì)模式實(shí)現(xiàn)的Web 應(yīng)用程序框架。
同時 Struts2引入了幾個新的框架特性:從邏輯中分離出橫切關(guān)注點(diǎn)的攔截器、減少或者消除配置文件、貫穿整個框架的強(qiáng)大表達(dá)式語言、支持可變更和可重用的基于MVC模式的標(biāo)簽API, Struts2充分利用了從其它MVC框架學(xué)到的經(jīng)驗(yàn)和教訓(xùn),使得 Struts2框架更加清晰靈活。
由于Struts2實(shí)現(xiàn)了Action類(普通POJO對象),所以測試編寫代碼所需的工作量較少。使用框架API,耦合變得更容易,有助于調(diào)整攔截器。
優(yōu)點(diǎn)和缺點(diǎn)
Struts2最大的特點(diǎn)是不必重寫或?qū)崿F(xiàn)Action類,同時IT工程師為多個操作創(chuàng)建重復(fù)設(shè)置代碼也不再是一個問題,因?yàn)閿r截器會處理它,Struts最大的缺點(diǎn)就是不夠靈活。
Hibernate框架
Hibernate 是一種ORM框架,在Java對象與關(guān)系型數(shù)據(jù)庫之間建立某種映射,以實(shí)現(xiàn)直接存取Java對象(POJO)。ORM框架是一種不同與MVC的另一種思想框架,適用范圍也與MVC截然不同。
使用JDBC連接來讀寫數(shù)據(jù)庫,我們最常見的就是打開數(shù)據(jù)庫連接、使用復(fù)雜的SQL語句進(jìn)行讀寫、關(guān)閉連接,獲得的數(shù)據(jù)又需要轉(zhuǎn)換或封裝后往外傳,這是一個非常煩瑣的過程。 這時出現(xiàn)了Hibernate框架,它需要你創(chuàng)建一系列的持久化類,每個類的屬性都可以簡單的看做和一張數(shù)據(jù)庫表的屬性一一對應(yīng),當(dāng)然也可以實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫的各種表件關(guān)聯(lián)的對應(yīng)。當(dāng)我們需要相關(guān)操作是,不用再關(guān)注數(shù)據(jù)庫表。我們不用再去一行行的查詢數(shù)據(jù)庫,只需要持久化類就可以完成增刪改查的功能。使我們的軟件開發(fā)真正面向?qū)ο?而不是面向混亂的代碼。
優(yōu)點(diǎn)
Hibernate只要對原有代碼做一些微小的改動就可以幫助你和任何數(shù)據(jù)庫進(jìn)行通信,它彌補(bǔ)了對象和關(guān)系之間的差距。除了這個優(yōu)勢,它還有:
1、不管是Oracle,還是Db2亦或是MySQL,Hibernate是獨(dú)立于DB存在的。
2、緩存機(jī)制對類似查詢進(jìn)行優(yōu)化。
3、支持N+1或懶加載。
缺點(diǎn)
盡管Hibernate的優(yōu)勢很多,但是它不允許多個插入,不支持JDBC的一些查詢,不適用于表比較少的小規(guī)模項(xiàng)目。
Mybatis框架
MyBatis原本是apache的一個開源項(xiàng)目iBatis,2010年這個項(xiàng)目由apache software foundation 遷移到了google code,并且改名為MyBatis 。2013年11月遷移到Github
iBATIS一詞來源于“internet”和“abatis”的組合,是一個基于Java的持久層框架。iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAOs)。
JSF框架
JSF它可以說是所有 Java 框架中的與 Java 關(guān)系最近的,因?yàn)樗蚃ava 都是 Oracle 的嫡系部隊(duì)。
JSF 也許并算不上最好的 Java 框架,但是由于 Oracle 的加持,JSF 的文檔是最全也最容易找到的。此外,由于 JSF 已通過 JCP 格式化為 JavaEE 的一部分,所以你只要安裝了 J2EE,就可以無障礙使用 JSF 了。
復(fù)雜的功能也能用JSF 提供的大量工具和庫來實(shí)現(xiàn)。借助 JSP(Java Server Pages),JSF 還可以支持不同的 Facelets 和 XUL 技術(shù)。
優(yōu)點(diǎn)和缺點(diǎn)
1、由于 JSF 集成在 JavaEE 中,對于使用 IDE 的開發(fā)人員來說非常方便。
2、入門門檻比較高,如果沒有 Java Web 的開發(fā)經(jīng)歷很難完整理解 JSF。
GWT框架
GWT(Google Web Toolki) 是一個前端使用 Javascript,后端使用 Java 的 AJAX 框架,以 Apache 許可證2.0版本開放源碼。
GWT 通過編譯器將 Java 代碼編譯成Javascript,可以讓開發(fā)人員只使用 Java 就可以快速開發(fā)維護(hù)復(fù)雜但高性能的 Javascript ,借此減輕開發(fā)人員負(fù)擔(dān)。
除了一些本地庫之外,都可以用集成的 GWT Ant 將 Java 源碼構(gòu)建成 Javascript。GWT已經(jīng)實(shí)現(xiàn)了大量代碼跨平臺復(fù)用,包括跨瀏覽器移植性、國際化、UI抽象化、書簽、歷史管理、遠(yuǎn)程程序調(diào)用和異步的代碼。
優(yōu)點(diǎn)
1、入門容易
2、特別適合應(yīng)用在想要通過增加客戶端負(fù)載從而減少服務(wù)器端負(fù)載進(jìn)而提升響應(yīng)速度的web應(yīng)用程序
3、借助各種各樣的Javascript庫,開發(fā)人員可以充分利用GWT的能力
4、內(nèi)置IDE能夠直接重構(gòu)Java密文/代碼;
5、由Google負(fù)責(zé)開發(fā),前景光明。
缺點(diǎn)
1、GWT是一個快速迭代的項(xiàng)目,版本太多,可能沒法知道所有接口和方法
2、編譯器執(zhí)行效率比較慢;
3、定義結(jié)構(gòu)的時候必須使用專用的方法來執(zhí)行。
SpringBoot
SpringBoot 框架,被稱作一棧式解決方案。比較輕量,也是當(dāng)前微服務(wù)下的趨勢;SpringBoot本身就是構(gòu)建與Spring之上,各種思想和特性無需多說,去掉了Spring繁瑣的配置,簡化了原有Spring開發(fā)的流程,提供了各種實(shí)用的特性如metric,actuctor等等;
最重要的是SpringBoot附帶了整個SpringCloud生態(tài)。兩個框架對你解決大、中,小項(xiàng)目都沒任何問題
以上就是北大青鳥長沙麓谷校區(qū)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java中的web前端開發(fā)框架都有哪些作用”的內(nèi)容,希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)內(nèi)容
五大 JAVA Web 框架的優(yōu)缺點(diǎn)對比
Java學(xué)習(xí)分享,主流的Java開發(fā)框架
Java程序員必備的15個框架
怎樣學(xué)習(xí)Java框架,Java架構(gòu)總結(jié)