Java開發(fā)用哪些框架,搞 Java 最重要的是什么?毫不夸張地說,掌握和了解Javaweb開發(fā),大企業(yè)普遍用哪些常用框架界面?,Java開發(fā)主流框架是什么,java開發(fā)需要學(xué)前端框架嗎?,java來做Web Service,用哪個框架*??,基本就能走遍天下都不怕了!
1.Javaweb開發(fā),大企業(yè)普遍用哪些常用框架界面?
我來回答一下,具體用什么框架跟項目規(guī)模和大小有很大的關(guān)系,下面從單體應(yīng)用架構(gòu)和微服務(wù)架構(gòu)兩個方面講一下。一、單體應(yīng)用架構(gòu)單體應(yīng)用架構(gòu)比較簡單,普遍用到就是框架,包括mvc層、持久層等。由于這框架是web開發(fā)框架學(xué)習(xí)的基礎(chǔ),相對于微服務(wù)框架比較簡單,在此簡單介紹一下。Spring:ioc容器和bean管理,解決的是業(yè)務(wù)邏輯層和其他各層的松耦合問題,也起到紐帶和橋梁的作用。Springmvc:目前使用最普遍和*的mvc框架。Struts2:也是一款類似于Springmvc功能的mvc框架,它的前身struts1基本沒人使用了。struts2相較于springmvc有諸多劣勢,包括自身漏洞門問題,慢慢走向沒落?,F(xiàn)在使用的大部分都是維護的老項目老系統(tǒng)。hibernate:重量級的面向?qū)ο蟮某志脤涌蚣?,其實它的功能非常強大,由于其自身功能的強大在使用和配置上比較復(fù)雜,很多程序員待之以鄙夷。hibernate用于中小系統(tǒng)項目還是很合適的,開發(fā)效率較高。mybatis:是一款中低量級別的半自動的持久層框架,由于自身使用的靈活性和易于aql調(diào)優(yōu),目前還是非常流行的,很多大型項目都用到它。二、微服務(wù)架構(gòu)微服務(wù)架構(gòu)相對于單體應(yīng)用架構(gòu)復(fù)雜些,尤其是微服務(wù)架構(gòu)用到分布式應(yīng)用架構(gòu)就更為復(fù)雜。:微服務(wù)基礎(chǔ)框架,由Pivotal團隊提供的全新框架,其設(shè)計目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應(yīng)用開發(fā)領(lǐng)域(rapid )成為領(lǐng)導(dǎo)者。特點 :1. 創(chuàng)建獨立的Spring應(yīng)用程序 2. 嵌入的Tomcat,無需部署WAR文件 3. 簡化Maven配置 4. 自動配置Spring 5. 提供生產(chǎn)就緒型功能,如指標(biāo),健康檢查和外部配置 6. 絕對沒有代碼生成和對XML沒有要求配置。一句話總結(jié):使用可以高效快速開發(fā)web應(yīng)用,而且可以不使用單體應(yīng)用開發(fā)框架中那些繁雜的xml配置。Dubbo:Dubbo是一個分布式服務(wù)框架,致力于提供高性能和透明化的RPC遠程服務(wù)調(diào)用方案,以及SOA服務(wù)治理方案。簡單的說,dubbo就是個服務(wù)框架,如果沒有分布式的需求,其實是不需要用的,只有在分布式的時候,才有dubbo這樣的分布式服務(wù)框架的需求,并且本質(zhì)上是個服務(wù)調(diào)用的東東,說白了就是個遠程服務(wù)調(diào)用的分布式框架(告別Web Service模式中的WSdl,以服務(wù)者與消費者的方式在dubbo上注冊) 其核心部分包含: 1. 遠程通訊: 提供對多種基于長連接的NIO框架抽象封裝,包括多種線程模型,序列化,以及“請求-響應(yīng)”模式的信息交換方式。 2. 集群容錯: 提供基于接口方法的透明遠程過程調(diào)用,包括多協(xié)議支持,以及軟負(fù)載均衡,失敗容錯,地址路由,動態(tài)配置等集群支持。 3. 自動發(fā)現(xiàn): 基于注冊中心目錄服務(wù),使服務(wù)消費方能動態(tài)的查找服務(wù)提供方,使地址透明,使服務(wù)提供方可以平滑增加或減少機器。:用官方文檔的說明:Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中的一些通用模式(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智能路由,微代理,控制總線,一次性令牌,全局鎖,領(lǐng)導(dǎo)選舉,分布式 會話,群集狀態(tài))。 分布式系統(tǒng)的協(xié)調(diào)導(dǎo)致了鍋爐板模式,并且使用Spring Cloud開發(fā)人員可以快速地站起來實現(xiàn)這些模式的服務(wù)和應(yīng)用程序。 它們可以在任何分布式環(huán)境中正常工作,包括開發(fā)人員自己的筆記本電腦,裸機數(shù)據(jù)中心和受管平臺,如Cloud Foundry。以上就是公司普遍使用的一些框架,當(dāng)然還有其他的一些框架,比如jFinal、ejb、公司自研封裝的一些框架等等,不管用什么框架,技術(shù)選型的前提就是滿足需求,學(xué)習(xí)成本低,開發(fā)效率高,伸縮性能和可擴展性能要好等等。以上,你都用過嗎?歡迎留言討論。 【無情懷,不編碼。做一個有情懷的碼農(nóng),雖千萬人,吾往矣!】 關(guān)注java自學(xué)、java技術(shù)、求職領(lǐng)域,為你導(dǎo)航領(lǐng)路,指點迷津,分享學(xué)習(xí)感受和技能經(jīng)驗。歡迎點贊、轉(zhuǎn)發(fā)、關(guān)注和留言,任何java學(xué)習(xí)或求職面試問題可以留言私信,有問必答。
2.Java開發(fā)主流框架是什么
Java開發(fā)主流框架是:Struts+Spring(IOC)+Mybatis/Hibernate,SpringMVC+Mybatis/Hibernate,(RESTful)+Mybatis/Hibernate,配合前端框架等。A、主要(30%)是Struts+Spring(IOC)+Mybatis/Hibernate,這套技術(shù)棧最不可取的是Struts和JSP。B、一部分(40%)在用SpringMVC+Mybatis/Hibernate,這套技術(shù)棧最不可取的是JSP。C、一部分(10%)在用(RESTful)+Mybatis/Hibernate,配合前端框架。這部分公司比較容易向下面D部分過度。D、一部分(10%)在用+SpringMVC(RESTful)+Mybatis/,配合前端框架。這也是現(xiàn)在比較成熟、理想的框架組合。
3.java開發(fā)需要學(xué)前端框架嗎?
任何技術(shù)都是相通的,Java開發(fā)技術(shù)扎實,涉獵前端開發(fā)也不會有多大問題。但是作為后端工程師,我們有必要學(xué)習(xí)前端開發(fā)嗎?俗話說“術(shù)業(yè)有專攻”,平時大家也都非常忙,尤其是在大公司,分工精細(xì),后端工程師幾乎不會接觸前端技術(shù)。但學(xué)習(xí)前端框架,了解前端技術(shù)有意想不到的好處。了解前端有助于降低團隊溝通成本多數(shù)系統(tǒng)都有前后端,項目規(guī)模增長的同時,溝通效率就變得尤為重要。前后端的開發(fā)人員只有多站在對方的角度思考問題才能提高默契,提高溝通效率。而這些是建立在了解對方工作的基礎(chǔ)上的。借鑒前端技術(shù)和演進線路豐富知識儲備可能很多后端開發(fā)者會輕視前端開發(fā),后端有太多的技術(shù)框架和領(lǐng)域值得學(xué)習(xí)。但實際上,許多前端框架的設(shè)計理念也是十分先進的。比如控制反轉(zhuǎn),依賴注入這些在Spring中的概念也同樣出現(xiàn)在前端等等。技多不壓身多了解技術(shù)對于自身成長只會有好處,在枯燥時可以體驗下前端開發(fā)找找樂趣。也許作為后端的你發(fā)現(xiàn)自己有前端開發(fā)的潛質(zhì)呢。
4.java來做Web Service,用哪個框架*
正好現(xiàn)在在學(xué).可以共同進步啊 Web Services 框架如 Axis2、CXF 都是由現(xiàn)有的項目中逐漸演化而來的,Axis2 是由 Axis 1.x 系列演化過來,而 Apache CXF 則是由 Celtix 和 XFire 項目整合而生,并且剛剛發(fā)布了 2.0.2 的*版本,不過仍是 Apache 的一個孵化項目。 Axis2 是對 Axis 進行了徹底的重寫的一個新項目了,它使用了新的模塊化架構(gòu),更方便于功能性的擴展等等。 Apache CXF 則是由 XFire 和 Celtix 兩個現(xiàn)有的項目進行了重組。 先比較一下它們的不同之處: 1、Apache CXF 支持 WS-、WS-Policy、WS-RM、WS-Security和WS-I 2、Axis2 支持 WS-、WS-RM、WS-Security和WS-I ,WS-Policy將在新版本里得到支持 3、Apache CXF 是根據(jù)Spring哲學(xué)來進行編寫的,即可以無縫地與Spring進行整合 4、Axis2 不是 5、Axis2 支持更多的 data bindings,包括 XMLBeans、JiBX、JaxMe 和 JaxBRI,以及它原生的 data binding(ADB)。 6、Apache CXF 目前僅支持 JAXB 和 Aegis,并且默認(rèn)是 JAXB 2.0,與 XFire 默認(rèn)是支持 Aegis 不同,XMLBeans、JiBX 和 Castor 將在 CXF 2.1 版本中得到支持,目前版本是 2.0.2 7、Axis2 支持多種語言,它有 C/C++ 版本。 8、Apache CXF 提供方便的Spring整合方法,可以通過注解、Spring標(biāo)簽式配置來暴露Web Services和消費Web Services 如何抉擇: 1、如果應(yīng)用程序需要多語言的支持,Axis2 應(yīng)當(dāng)是*了; 2、如果應(yīng)用程序是遵循 Spring 哲學(xué)路線的話,Apache CXF 是一種更好的選擇,特別對嵌入式的 Web Services 來說; 3、如果應(yīng)用程序沒有新的特性需要的話,就仍是用原來項目所用的框架,比如 Axis1,XFire,Celtrix 或 BEA 等等廠家自己的 Web Services 實現(xiàn),就別勞民傷財了 因為CXF可以和Spring無縫的進行結(jié)合,而我的項目用到了spring ,所以我選的是CXF
雖說掌握和了解了Javaweb開發(fā),大企業(yè)普遍用哪些常用框架界面?,Java開發(fā)主流框架是什么,java開發(fā)需要學(xué)前端框架嗎?,java來做Web Service,用哪個框架*??,能走遍天下,但也要不斷去學(xué)習(xí)新的知識,更多的Java知識,請聯(lián)系客服獲取。