分享6個Java框架及優缺點介紹

小咖啡111發表於2019-05-07

  1、SpringMVC

  中國有句俗話叫“薑還是老的辣”,所以SpringMVC雖然釋出已有十多年,但仍然老當益壯,以絕對的優勢處於領先者的地位。在擁抱完整的MVC框架後,Spring不斷髮展變化,現在已經成為面向Internet應用程式的全面Java框架,為軟體工程師提供了用於Web應用程式開發的強大的工具包和針對安全專案的應用程式配置。作為最受程式設計師寵愛的一枚,Spring發展良好的生態系統提供了很多附加選項:RESTAPI或SOAPWeb服務,安全性(身份驗證和授權,加密)等。另外,很多大型公司都選擇使用SpringMVC,所以如果你在使用過程中遇到問題,會有很多技術大牛能夠給你解答。

  優點和缺點

  Spring以絕對優勢登頂不是沒有理由的,它之所以能夠成為最知名的Java框架,主要是因為:

  1.使用POJO簡化測試資料的注入。

  2.增強的模組化,使程式碼擁有更好的可讀性。

  3.不同模組之間解耦合。

  4.靈活應用依賴注入(DI)。

  雖然SpringMVC有很多文件可供參考,但其對於新手Java開發人員來說學習曲線還是太陡了,在碰到參考文件較少的部分,開發人員可能會出現無從下手的情況。另外,雖然SpringMVC網上的資訊比較多,但是版本不同也會有差異。總體來說,SpringMVC是工程師最喜愛的框架之一。


  2、Struts2

  為了更詳細地闡述現代軟體工程師廣泛使用的Java框架,這裡千鋒武漢Java培訓老師為大家介紹ApacheStruts1的後續版本Struts2。Struts2用於構建當代JavaEEWeb應用程式。Apache軟體基金會為開發人員提供了一個廣泛的工具,用於建立企業級面向Web的應用程式,開發過程的最佳化貫徹始終,甚至連後期維護也囊括其中,到最終點最佳化開發過程以及後期維護。如果您在為高負載系統(如廣播門戶)發愁,那麼Struts將會是你的不二選擇。

  由於Struts2實現了Action類(普通POJO物件),所以測試編寫程式碼所需的工作量較少。使用框架API,耦合變得更容易,有助於調整攔截器。

  優點和缺點

  Struts2最大的特點是不必重寫或實現Action類,同時IT工程師為多個操作建立重複設定程式碼也不再是一個問題,因為攔截器會處理它。

  Struts最大的缺點就是不夠靈活。


  3、Hibernate

  雖然Hibemate不在RebelLabs的排行榜中,但它仍是值得一提的Java框架。這個對映Java框架解決了物件和關係不匹配的問題,採用持續的資料庫訪問操作來代替高層次的物件處理功能。每個企業的應用程式都是不同的,所以Hibernate配備了一個強大啊的功能套件,幫助後端開發人員微調資料訪問層。這是一個高階的ORM框架,允許您對Java物件(實體)執行資料庫操作,利用Hibernate快取將資料從Java環境持久化到資料庫是一個持久化的概念。

  優點和缺點

  Hibernate只要對原有程式碼做一些微小的改動就可以幫助你和任何資料庫進行通訊,它彌補了物件和關係之間的差距。除了這個優勢,它還有:

  1.不管是Oracle,還是Db2亦或是MySQL,Hibernate是獨立於DB存在的。

  2.快取機制對類似查詢進行最佳化。

  3.支援N+1或懶載入。

  儘管Hibernate的優勢很多,但是它不允許多個插入,不支援JDBC的一些查詢,不適用於表比較少的小規模專案。


   4、JSF

  作為JavaEE的一部分,Oracle支援JavaServerFaces。雖然這不是Java快速開發的最好框架,但是因為Oracle提供了大量的文件所以很容易上手。如果你不離開JavaEE環境,JSF沒有外部依賴項,但功能很強大,它擁有的豐富的庫和工具(包括一個易於建立使用者介面的工具集),無論你的應用程式看起來有多麼複雜,它都可以支援。

  優點和缺點

  如上所述,JSF是JavaEE的一個組成部分。因此,開發人員可以利用IDE軟體套件以及來自行業領先供應商的高水準的支援。

  但是事情都有兩面性,JavaServerFaces太龐大,所以沒有Web開發經驗或者技術不純熟的人可能難以掌握。


  5、Vaadin

  Vaadin是在現代開發人員在建立業務應用程式並使用GWT渲染結束網頁時必選的流行框架之一。Vaadin利用一個眾所周知的基於元件的方法,快速適應瀏覽器發生的變化,從而減輕開發人員的負擔。Vaadin透過傳達對瀏覽器的更改來消除開發人員的負擔。豐富的UI元件、各種各樣的部件和控制元件時代程式設計師能夠隨時隨地構建一個酷炫的應用程式。

  優點和缺點

  在Java或HTML的佈局構建中,Vaadin提供了可用的MVC或MVP繫結資料的方法。支援拖放以及其他突出的功能簡化了對Java應用程式的單頁UI的建立。

  因為Vaadin需要將每個事件回發到伺服器,所以或導致移動應用程式的UI遲緩。


  6、GoogleWebToolkit

  GWT是一個允許使用者建立和最佳化複雜的基於Web的應用程式的免費的Java框架。GWT的軟體開發套件提供核心JavaAPI和小部件,構建之後就可以編譯為JavaScript的應用程式。

  優點和缺點

  使用GoogleWebToolkit,您可以獲得單個程式碼庫(Java中的瀏覽器和伺服器端程式設計),從而簡化開發和除錯過程。與其他技術的簡單整合允許程式設計師在Web頁面中嵌入GWT小部件。在GWT的幫助下還可以自定義視窗小部件功能。

  但是GWT不適用於HTML和後期動態內容佈局,因此無法滿足網頁設計師的需求。

  

       Python學習交流群:519489681  備註:小白愛踢


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31560357/viewspace-2643538/,如需轉載,請註明出處,否則將追究法律責任。

相關文章