Javaweb開發,大企業普遍用哪些常用框架界面?

互聯網商業模式

我來回答一下,具體用什麼框架跟項目規模和大小有很大的關係,下面從單體應用架構和微服務架構兩個方面講一下。

一、單體應用架構

單體應用架構比較簡單,普遍用到就是五大框架,包括mvc層、持久層等。由於這五大框架是web開發框架學習的基礎,相對於微服務框架比較簡單,在此簡單介紹一下。

  1. Spring:ioc容器和bean管理,解決的是業務邏輯層和其他各層的松耦合問題,也起到紐帶和橋樑的作用。
  2. Springmvc:目前使用最普遍和最流行的mvc框架。
  3. Struts2:也是一款類似於Springmvc功能的mvc框架,它的前身struts1基本沒人使用了。struts2相較於springmvc有諸多劣勢,包括自身漏洞門問題,慢慢走向沒落。現在使用的大部分都是維護的老項目老系統。
  4. hibernate:重量級的面向對象的持久層框架,其實它的功能非常強大,由於其自身功能的強大在使用和配置上比較複雜,很多程序員待之以鄙夷。hibernate用於中小系統項目還是很合適的,開發效率較高。
  5. mybatis:是一款中低量級別的半自動的持久層框架,由於自身使用的靈活性和易於aql調優,目前還是非常流行的,很多大型項目都用到它。

二、微服務架構

微服務架構相對於單體應用架構複雜些,尤其是微服務架構用到分佈式應用架構就更為複雜。

  1. springboot:微服務基礎框架,由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力於在蓬勃發展的快速應用開發領域(rapid application development)成為領導者。特點 :1. 創建獨立的Spring應用程序 2. 嵌入的Tomcat,無需部署WAR文件 3. 簡化Maven配置 4. 自動配置Spring 5. 提供生產就緒型功能,如指標,健康檢查和外部配置 6. 絕對沒有代碼生成和對XML沒有要求配置。一句話總結:使用springboot可以高效快速開發web應用,而且可以不使用單體應用開發框架中那些繁雜的xml配置。
  2. Dubbo:Dubbo是一個分佈式服務框架,致力於提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案。簡單的說,dubbo就是個服務框架,如果沒有分佈式的需求,其實是不需要用的,只有在分佈式的時候,才有dubbo這樣的分佈式服務框架的需求,並且本質上是個服務調用的東東,說白了就是個遠程服務調用的分佈式框架(告別Web Service模式中的WSdl,以服務者與消費者的方式在dubbo上註冊) 其核心部分包含: 1. 遠程通訊: 提供對多種基於長連接的NIO框架抽象封裝,包括多種線程模型,序列化,以及“請求-響應”模式的信息交換方式。 2. 集群容錯: 提供基於接口方法的透明遠程過程調用,包括多協議支持,以及軟負載均衡,失敗容錯,地址路由,動態配置等集群支持。 3. 自動發現: 基於註冊中心目錄服務,使服務消費方能動態的查找服務提供方,使地址透明,使服務提供方可以平滑增加或減少機器。
  3. SpringCloud:用官方文檔的說明:Spring Cloud為開發人員提供了快速構建分佈式系統中的一些通用模式(例如配置管理,服務發現,斷路器,智能路由,微代理,控制總線,一次性令牌,全局鎖,領導選舉,分佈式 會話,群集狀態)。 分佈式系統的協調導致了鍋爐板模式,並且使用Spring Cloud開發人員可以快速地站起來實現這些模式的服務和應用程序。 它們可以在任何分佈式環境中正常工作,包括開發人員自己的筆記本電腦,裸機數據中心和受管平臺,如Cloud Foundry。

以上就是公司普遍使用的一些框架,當然還有其他的一些框架,比如jFinal、ejb、公司自研封裝的一些框架等等,不管用什麼框架,技術選型的前提就是滿足需求,學習成本低,開發效率高,伸縮性能和可擴展性能要好等等。

以上,你都用過嗎?歡迎留言討論。

【無情懷,不編碼。做一個有情懷的碼農,雖千萬人,吾往矣!】 關注java自學、java技術、求職領域,為你導航領路,指點迷津,分享學習感受和技能經驗。歡迎點贊、轉發、關注和留言,任何java學習或求職面試問題可以留言私信,有問必答。


分享到:


相關文章: