精品国产美女福到在线不卡_中文字幕精品无码亚洲成a人_在线视频最新免费无码又爽又刺激涩涩_久久综合视频97_国产香蕉尹人综合视频网

java框架都有哪些(java不常用的框架)

時(shí)間:2023-05-15

java框架都有哪些

Java言語仍然是當(dāng)下“程序猿”們最愛運(yùn)用的熱門編程言語之一,想要進(jìn)入這個職業(yè),Java能夠?yàn)槟阋?,很多初學(xué)的人可能沒有系統(tǒng)的了解過Java結(jié)構(gòu)都有哪些。今日為我們整理一下常見的Java結(jié)構(gòu)都有什么?
1.Spring結(jié)構(gòu)
Spring結(jié)構(gòu)是現(xiàn)在Java后端結(jié)構(gòu)家族里邊最強(qiáng)壯的一個,具有IOC和AOP兩大利器,簡化了開發(fā)的復(fù)雜性。而且Spring現(xiàn)在能與一切干流開發(fā)結(jié)構(gòu)集成,是一個全能結(jié)構(gòu),Spring讓Java開發(fā)變得簡單。
2.SpringMVC結(jié)構(gòu)
這是一個MVC的開源結(jié)構(gòu)用來替代Struts,是Spring項(xiàng)目里邊的一個重要部分,能和SpringIOC容器結(jié)合,具有松耦合、便利裝備、代碼別離等特點(diǎn),讓Java程序員開發(fā)WEB項(xiàng)目變得愈加容易。
3.SpringBoot結(jié)構(gòu)
SpringBoot是Spring開源組織下的一個子項(xiàng)目,也是Spring組件一站式解決方法,主要是為了簡化運(yùn)用Spring的結(jié)構(gòu)難度。java
4.SpringCloud
這是一系列結(jié)構(gòu)有序調(diào)集,是現(xiàn)在最火的微服務(wù)結(jié)構(gòu)首選,首先它是利用SpringBoot開發(fā)的便利性奇妙的簡化了分布式系統(tǒng)基礎(chǔ)的開發(fā),如服務(wù)發(fā)現(xiàn)注冊、裝備中心、音訊總線、負(fù)載均衡、斷路器、數(shù)據(jù)監(jiān)控等,都能夠用SpringBoot的開發(fā)風(fēng)格做到一鍵發(fā)動和部署。
5.Netty
Netty是由JBOSS供給的開源的異步的,根據(jù)事情驅(qū)動的網(wǎng)絡(luò)通信結(jié)構(gòu)。能夠快速提高開發(fā)功用,高可靠性的網(wǎng)絡(luò)服務(wù)器和客戶端程序,netty簡化了網(wǎng)絡(luò)運(yùn)用的編程開發(fā)過程,運(yùn)用開發(fā)網(wǎng)絡(luò)編程變得反常簡單。
6.Quartz
Quartz是一個根據(jù)Java的廣泛運(yùn)用的開源的任務(wù)調(diào)度結(jié)構(gòu),做過定時(shí)任務(wù)的沒有沒用過這個結(jié)構(gòu)的吧?
7.jQuery
jQuery是一個快速、簡潔的JavaScript結(jié)構(gòu),它封裝JavaScript常用的功用代碼,供給一種簡潔的JavaScript規(guī)劃模式,極大地簡化了JavaScript編程。
8.Log4j
Log4j是Apache的一個開源日志結(jié)構(gòu),經(jīng)過Log4j我們能夠?qū)⒊绦蛑械娜罩拘畔⑤敵龅娇刂婆_、文件等來記錄日志。作為一個最老牌的日志結(jié)構(gòu),它現(xiàn)在的干流版本是Log4j2。Log4j2是從頭架構(gòu)的一款日志結(jié)構(gòu),扔掉了之前Log4j的不足,以及吸取了優(yōu)異日志結(jié)構(gòu)Logback的規(guī)劃。

java不常用的框架

一、MyBatisGenerator
這個結(jié)構(gòu)能夠依照裝備為咱們主動生成mybatis對應(yīng)的mapper.xml、實(shí)體以及dao文件,在前期咱們還需求自己寫mapper文件時(shí),的確是開發(fā)者的一個福音,能夠節(jié)約咱們許多時(shí)刻來寫一些無用的增刪改查的dao層代碼,這個結(jié)構(gòu)自身沒有問題,可是卻不合適項(xiàng)目用,很難管理。
在咱們開發(fā)過程中,很難做到對一個項(xiàng)目從一而終,常常一個項(xiàng)目易手幾個人十幾個人都有可能,每個人的開發(fā)習(xí)慣不一樣,我在工作中遇到的問題,項(xiàng)目里用了這個結(jié)構(gòu),可是在后續(xù)開發(fā)過程中,需求改動表結(jié)構(gòu)增刪字段,這個時(shí)分,咱們需求從頭生成相關(guān)的代碼,可是這個時(shí)分,有些人圖方便或許不知道怎么用這個結(jié)構(gòu),就會挑選直接在生成的代碼里修正,然后還順暢上線了,那接下來,這個模塊根本被廢棄了,后續(xù)的人再加字段,從頭生成代碼會覆蓋他人手藝加入的代碼,十分糾結(jié),本來很簡單的一個問題,到此變得十分棘手,只能心一橫繼續(xù)手藝修正代碼了。
其實(shí)這個結(jié)構(gòu)沒有問題,問題是不能有效操控開發(fā)人員運(yùn)用它,在項(xiàng)目經(jīng)過長時(shí)刻多人經(jīng)手后,大都會忘掉最初的夢想,項(xiàng)目代碼變得破爛不堪無法保護(hù),終究走上了重構(gòu)的路途。
所以在挑選結(jié)構(gòu)的時(shí)分,我一般不會挑選這個結(jié)構(gòu),取而代之的,比較傾向于運(yùn)用MybatisPlus或許Jpa,不必靜態(tài)生成代碼,要加字段直接加就好了,十分方便,功能也很強(qiáng)壯,MyBatisGenerator早起幫了咱們很大忙,可是現(xiàn)已不合適新的項(xiàng)目了。java
二、MapStruct
先引用一個開發(fā)同仁的文章:mapstruct運(yùn)用詳解-淼淼之森-博客園,介紹的十分好。
mapstruct便是用來做對象拷貝的,相比beanutils的確有許多長處,且底層實(shí)現(xiàn)不是用反射來做的,而是動態(tài)生成實(shí)現(xiàn)類,性能也還能夠。還能夠適應(yīng)不同的類型,不同的字段的映射,乃至是復(fù)雜對象也能夠映射,不可謂不強(qiáng)壯??墒菑?qiáng)壯的地方是需求付出代價(jià)的。
最近接觸的一個項(xiàng)目用到了這個結(jié)構(gòu),打內(nèi)心里沖突,應(yīng)為常常要寫expression表達(dá)式,在寫的過程中是沒有任何提示的,寫錯了不知道,IDE里不會主動提示出來,每次都要編譯后才在操控臺輸出過錯,然后再去改,十分費(fèi)事,而且要寫的表達(dá)式有些其實(shí)便是java代碼,放到字符串里,我覺得一般。主要是用這個開發(fā)效率有點(diǎn)低,我喜歡那種錯了就直接提示出來,而不是編譯的時(shí)分再提示。

文章標(biāo)簽:

Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號

與項(xiàng)目經(jīng)理交流
掃描二維碼
與項(xiàng)目經(jīng)理交流
掃描二維碼
與項(xiàng)目經(jīng)理交流
ciya68