欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

Java Web目前主流比較成熟的框架以及正在興起的框架 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁 » 新聞資訊 » ç¶²(wÇŽng)站建設(shè) >

Java Web目前主流比較成熟的框架以及正在興起的框架

發(fā)表時(shí)間:2018-7-16

發(fā)布人:葵宇科技

瀏覽次數(shù):79

成熟的框架介紹

根據(jù)RebelLabs,也是在線Java用戶組(虛擬JUG)的媒體盟友所進(jìn)行的調(diào)查,2018年最佳Java框架的陣容如下:

這樣下來就是SpringMVC+Spring+MyBatis的整合使用。
這里可以學(xué)ç¿’(xí)慕課網(wÇŽng)çš„:
搞定Java SSM框架開發(fā):
http://www.imooc.com/course/programdetail/pid/59
從這一點(diÇŽn)來說,慕課網(wÇŽng)還是很給力的。

Hibernate 框架

Hibernate 是一種ORM框架,全稱為 Object-Relative Database-Mapping,在Java對(duì)象與關(guān)系型數(shù)據(jù)庫(kù)之間建立某種映射,以實(shí)現(xiàn)直接存取Java對(duì)象(POJO)。ORM框架是一種不同與MVC的另一種思想框架,適用范圍也與MVC截然不同。
使用JDBC連接來讀寫數(shù)據(jù)庫(kù),我們最常見的就是打開數(shù)據(jù)庫(kù)連接、使用復(fù)雜的SQL語句進(jìn)行讀寫、關(guān)閉連接,獲得的數(shù)據(jù)又需要轉(zhuÇŽn)換或封裝后往外傳,這是一個(gè)非常煩瑣的過程。
這時(shí)出現(xiàn)了Hibernate框架,它需要你創(chuàng)建一系列的持久化類,每個(gè)類的屬性都可以簡(jiÇŽn)單的看做和一張數(shù)據(jù)庫(kù)表的屬性一一對(duì)應(yÄ«ng),ç•¶(dāng)然也可以實(shí)現(xiàn)é—œ(guān)系數(shù)據(jù)庫(kù)的各種表件關(guān)聯(lián)的對(duì)應(yÄ«ng)。當(dāng)我們需要相關(guān)操作是,不用再關(guān)注數(shù)據(jù)庫(kù)表。我們不用再去一行行的查詢數(shù)據(jù)庫(kù),只需要持久化類就可以完成增刪改查的功能。使我們的軟件開發(fā)真正面向?qÅ«)ο?#xff0c;而不是面向混亂的代碼。我的感受是,使用Hibernate比JDBC方式減少了80%的編程量。

Struts2框架

本詞條缺少信息欄、名片圖,補(bÇ”)充相關(guān)å…§(nèi)容使詞條更完整,還能快速升級(jí),趕緊來編輯吧!
Struts2以WebWork優(yōu)秀的設(shè)計(jì)思想為核心,吸收了 Struts框架的部分優(yōu)點(diÇŽn),提供了一個(gè)更加整潔的MVC設(shè)計(jì)模式實(shí)現(xiàn)çš„Web 應(yÄ«ng)用程序框架
Struts2以WebWork優(yōu)秀的設(shè)計(jì)思想為核心,吸收了 Struts框架的部分優(yōu)點(diÇŽn),提供了一個(gè)更加整潔的MVC設(shè)計(jì)模式實(shí)現(xiàn)çš„Web 應(yÄ«ng)用程序框架。 Struts2引入了幾個(gè)新的框架特性:從邏輯中分離出橫切關(guān)注點(diÇŽn)的攔截器、減少或者消除配置文件、貫穿整個(gè)框架的強(qiáng)大表達(dá)式語言、支持可變更和可重用的基于MVC模式的標(biāo)ç°½API, Struts2充分利用了從其它MVC框架學(xué)到的經(jÄ«ng)é©—(yàn)和教訓(xùn),使得 Struts2框架更加清晰靈活。

Struts 框架(目前已淘汰)

struts配置太過于復(fù)雜,而且太不經(jÄ«ng)用,ç¶“(jÄ«ng)常報(bào)錯(cuò),ç¶­è­·(hù)使用不便,再加上漏洞前科,很多中小型都放棄了使用,直接用spingMVC替代。而hibernate性能一般,再加上sql語句全封裝,而Mybatis是半封裝,更加靈活。性能強(qiáng)大,已經(jÄ«ng)有了取而代之的趨勢(shì)。為了解決這些問題,出現(xiàn)了Struts框架,它是一個(gè)完美的MVC實(shí)現(xiàn),它有一個(gè)中央控制類(一個(gè)Servlet),針對(duì)不同的業(yè)å‹™(wù),我們需要一個(gè)Action類負(fù)責(zé)頁面跳轉(zhuÇŽn)和后臺(tái)邏輯運(yùn)ç®—,一個(gè)或幾個(gè)JSP頁面負(fù)責(zé)數(shù)據(jù)的輸入和輸出顯示,還有一個(gè)Form類負(fù)責(zé)傳遞Actionå’ŒJSP中間的數(shù)據(jù)。JSP中可以使用Struts框架提供的一組標(biāo)ç°½,就像使用HTML標(biāo)簽一樣簡(jiÇŽn)å–®,但是可以完成非常復(fù)雜的邏輯。從此JSP頁面中不需要出現(xiàn)一行<%%>包圍的Java代碼了。 可是所有的運(yùn)算邏輯都放在Strutsçš„Action里將使得Action類復(fù)用度低和邏輯混亂,所以通常人們會(huì)把整個(gè)Web應(yÄ«ng)用程序分為三層,Strutsè² (fù)責(zé)顯示層,它調(diào)用業(yè)å‹™(wù)層完成運(yùn)算邏輯,業(yè)å‹™(wù)層再調(diào)用持久層完成數(shù)據(jù)庫(kù)的讀寫。

MyBatis 框架

MyBatis 本是apache的一個(gè)開源項(xiàng)ç›®iBatis, 2010年這個(gè)é …(xiàng)目由apache software foundation 遷移到了google code,并且改名為MyBatis 。2013å¹´11月遷移到Github。
iBATIS一詞來源于“internet”和“abatis”的組合,是一個(gè)基于Java的持久層框架。iBATIS提供的持久層框架包括SQL Mapså’ŒData Access Objects(DAOs)。

Spring 框架

調(diào)用者依賴被調(diào)用者,它們之間形成了強(qiáng)耦合,如果我想在其他地方復(fù)用某個(gè)類,則這個(gè)類依賴的其他類也需要包含。程序就變得很混亂,每個(gè)類互相依賴互相調(diào)用,復(fù)用度極低。如果一個(gè)類做了修改,則依賴它的很多類都會(huì)受到牽連。為此,出現(xiàn)Spring框架。
Spring的作用就是完全解耦類之間的依賴關(guān)ç³»,一個(gè)類如果要依賴什么,那就是一個(gè)接口。至于如何實(shí)現(xiàn)這個(gè)接口,這都不重要了。只要拿到一個(gè)實(shí)現(xiàn)了這個(gè)接口的類,就可以輕松的通過xml配置文件把實(shí)現(xiàn)類注射到調(diào)用接口的那個(gè)類里。所有類之間的這種依賴關(guān)系就完全通過配置文件的方式替代了。所以Spring框架最核心的就是所謂的依賴注射和控制反轉(zhuÇŽn)。

spring MVC 框架

Spring MVC屬于SpringFrameWork的后續(xù)產(chÇŽn)品,已經(jÄ«ng)融合在Spring Web Flow里面。Spring 框架提供了構(gòu)建 Web 應(yÄ«ng)用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC æž¶æ§‹(gòu),從而在使用Spring進(jìn)行WEB開發(fā)時(shí),可以選擇使用Springçš„SpringMVC框架或集成其他MVC開發(fā)框架,如Struts1,Struts2ç­‰。
它是一個(gè)典型的教科書式的mvcæ§‹(gòu)æž¶,而不像struts等都是變種或者不是完全基于mvc系統(tÇ’ng)的框架,對(duì)于初學(xué)者或者想了解mvc的人來說我覺得 spring是最好的,它的實(shí)現(xiàn)就是教科書!第二它和tapestry一樣是一個(gè)純正的servlet系統(tÇ’ng),這也是它和tapestry相比 struts所具有的優(yōu)å‹¢(shì)。而且框架本身有代碼,看起來容易理解。Data Access Objects(DAOs)。

正在興起的框架

Jersey 框架

Jersey RESTful 框架是開源的RESTful框架, 實(shí)現(xiàn)了JAX-RS (JSR 311 & JSR 339) 規(guÄ«)范。它擴(kuò)展了JAX-RS 參考實(shí)現(xiàn), 提供了更多的特性和工具, 可以進(jìn)一步地簡(jiÇŽn)化 RESTful service å’Œ client 開發(fā)。盡管相對(duì)年輕,它已經(jÄ«ng)是一個(gè)產(chÇŽn)品級(jí)çš„ RESTful service å’Œ client 框架。與Struts類似,它同樣可以和hibernate,spring框架整合。
由于Struts2+hibernate+spring整合在市場(chÇŽng)的占有率太高,所以很少一部分人去關(guān)注Jersey。所以網(wÇŽng)上有關(guān)于Jersey的介紹很少。但是它確實(shí)是一個(gè)非常不錯(cuò)的框架。對(duì)于請(qǐng)求式服務(wù),對(duì)于GET,DELETEè«‹(qǐng)求,你甚至只需要給出一個(gè)URI即可完成操作。
舉個(gè)ç°¡(jiÇŽn)單的例子:如果你想獲得服務(wù)器數(shù)據(jù)庫(kù)中的所有數(shù)據(jù);那么你可以在瀏覽器或者利用Ajaxçš„GET方法,將路徑設(shè)置好;例如:localhost:8080/Student(é …(xiàng)目名稱)/studentinfo(é …(xiàng)目服務(wù)總體前綴)/student(處理student對(duì)象的簽注)/getStudentInfo(最后前綴)。這樣就可以獲取所有學(xué)生信息。你可以選擇GET獲取的數(shù)據(jù)的返回類型:JSON,XML,TEXT_HTML(String)..獲取之后,你可以通過JS將這些數(shù)據(jù)塞到html或者jsp頁面上。

springboot 框架

springboot 框架,被稱作一棧式解決方案。比較輕量,也是當(dāng)前微服務(wù)下的趨勢(shì);springboot本身就是構(gòu)建與spring之上,各種思想和特性無需多說,去掉了spring繁瑣的配置,ç°¡(jiÇŽn)化了原有spring開發(fā)的流程,提供了各種實(shí)用的特性如metric,actuctor等等;最重要的是springboot附帶了整個(gè)springcloud生態(tài)。兩個(gè)框架對(duì)你解決大,中,小項(xiàng)目都沒任何問題

play 框架

play可能更加偏向于scala點(diÇŽn),本身輕量性能高,隨著逐步的優(yōu)化易用性以及擴(kuò)展性都變得越來越好;

Vue.js 框架

åš´(yán)格來說這個(gè)應(yÄ«ng)該不屬于框架, 從組建構(gòu)造上來講 是和reactjs 類似的構(gòu)造UI組件的。 從整體邏輯來講, 他要解決的是MVVMçš„VM這個(gè)部分, 就是如何把應(yÄ«ng)用程序的model å’Œ view 聯(lián)系起來的這個(gè)VM(view model) 部分。眾所周知, MVC這個(gè)design pattern爭(zhÄ“ng)議大的就是這個(gè)C的部分, 所以才有各種MV* 的方案提出。 他使用起來確實(shí)比reactjs ç°¡(jiÇŽn)單方便多了。 代碼也清晰。借鑒了angularjsçš„declarative的特點(diÇŽn)。 另外文檔, 例子做的都很漂亮。 上手比較快, 這些都是很好的優(yōu)點(diÇŽn)。

jfinal 框架

JFinal 是基于Java 語言的極速 web 開發(fā)框架,其核心設(shè)計(jì)目標(biāo)是開發(fā)迅速、代碼量少、學(xué)ç¿’(xí)ç°¡(jiÇŽn)å–®、功能強(qiáng)大、輕量級(jí)、易擴(kuò)展、Restful。在擁有Java語言所有優(yōu)å‹¢(shì)的同時(shí)再擁有ruby、python等動(dòng)æ…‹(tài)語言的開發(fā)效率。

框架整合

最初是Struts+ Spring + Hibernate。

后來演變?yōu)镾truts2 + Spring + Hibernate。

后來隨著Spring的強(qiáng)大以及Struts漏洞上的等等問題,演變成為了Spring + SpringMVC + Hibernate/Mybatis 互聯(lián)ç¶²(wÇŽng)這塊比較常見的是Mybatis。

最近也慢慢演變?yōu)榱薙pringboot + Mybatis。

相關(guān)案例查看更多

相關(guān)閱讀