java框架都有哪些
Java言語仍然是當下“程序猿”們最愛運用的熱門編程言語之一,想要進入這個職業(yè),Java能夠為你引路,很多初學的人可能沒有系統(tǒng)的了解過Java結構都有哪些。今日為我們整理一下常見的Java結構都有什么?
1.Spring結構
Spring結構是現在Java后端結構家族里邊最強壯的一個,具有IOC和AOP兩大利器,簡化了開發(fā)的復雜性。而且Spring現在能與一切干流開發(fā)結構集成,是一個全能結構,Spring讓Java開發(fā)變得簡單。
2.SpringMVC結構
這是一個MVC的開源結構用來替代Struts,是Spring項目里邊的一個重要部分,能和SpringIOC容器結合,具有松耦合、便利裝備、代碼別離等特點,讓Java程序員開發(fā)WEB項目變得愈加容易。
3.SpringBoot結構
SpringBoot是Spring開源組織下的一個子項目,也是Spring組件一站式解決方法,主要是為了簡化運用Spring的結構難度。
4.SpringCloud
這是一系列結構有序調集,是現在最火的微服務結構首選,首先它是利用SpringBoot開發(fā)的便利性奇妙的簡化了分布式系統(tǒng)基礎的開發(fā),如服務發(fā)現注冊、裝備中心、音訊總線、負載均衡、斷路器、數據監(jiān)控等,都能夠用SpringBoot的開發(fā)風格做到一鍵發(fā)動和部署。
5.Netty
Netty是由JBOSS供給的開源的異步的,根據事情驅動的網絡通信結構。能夠快速提高開發(fā)功用,高可靠性的網絡服務器和客戶端程序,netty簡化了網絡運用的編程開發(fā)過程,運用開發(fā)網絡編程變得反常簡單。
6.Quartz
Quartz是一個根據Java的廣泛運用的開源的任務調度結構,做過定時任務的沒有沒用過這個結構的吧?
7.jQuery
jQuery是一個快速、簡潔的JavaScript結構,它封裝JavaScript常用的功用代碼,供給一種簡潔的JavaScript規(guī)劃模式,極大地簡化了JavaScript編程。
8.Log4j
Log4j是Apache的一個開源日志結構,經過Log4j我們能夠將程序中的日志信息輸出到控制臺、文件等來記錄日志。作為一個最老牌的日志結構,它現在的干流版本是Log4j2。Log4j2是從頭架構的一款日志結構,扔掉了之前Log4j的不足,以及吸取了優(yōu)異日志結構Logback的規(guī)劃。
java不常用的框架
一、MyBatisGenerator
這個結構能夠依照裝備為咱們主動生成mybatis對應的mapper.xml、實體以及dao文件,在前期咱們還需求自己寫mapper文件時,的確是開發(fā)者的一個福音,能夠節(jié)約咱們許多時刻來寫一些無用的增刪改查的dao層代碼,這個結構自身沒有問題,可是卻不合適項目用,很難管理。
在咱們開發(fā)過程中,很難做到對一個項目從一而終,常常一個項目易手幾個人十幾個人都有可能,每個人的開發(fā)習慣不一樣,我在工作中遇到的問題,項目里用了這個結構,可是在后續(xù)開發(fā)過程中,需求改動表結構增刪字段,這個時分,咱們需求從頭生成相關的代碼,可是這個時分,有些人圖方便或許不知道怎么用這個結構,就會挑選直接在生成的代碼里修正,然后還順暢上線了,那接下來,這個模塊根本被廢棄了,后續(xù)的人再加字段,從頭生成代碼會覆蓋他人手藝加入的代碼,十分糾結,本來很簡單的一個問題,到此變得十分棘手,只能心一橫繼續(xù)手藝修正代碼了。
其實這個結構沒有問題,問題是不能有效操控開發(fā)人員運用它,在項目經過長時刻多人經手后,大都會忘掉最初的夢想,項目代碼變得破爛不堪無法保護,終究走上了重構的路途。
所以在挑選結構的時分,我一般不會挑選這個結構,取而代之的,比較傾向于運用MybatisPlus或許Jpa,不必靜態(tài)生成代碼,要加字段直接加就好了,十分方便,功能也很強壯,MyBatisGenerator早起幫了咱們很大忙,可是現已不合適新的項目了。
二、MapStruct
先引用一個開發(fā)同仁的文章:mapstruct運用詳解-淼淼之森-博客園,介紹的十分好。
mapstruct便是用來做對象拷貝的,相比beanutils的確有許多長處,且底層實現不是用反射來做的,而是動態(tài)生成實現類,性能也還能夠。還能夠適應不同的類型,不同的字段的映射,乃至是復雜對象也能夠映射,不可謂不強壯。可是強壯的地方是需求付出代價的。
最近接觸的一個項目用到了這個結構,打內心里沖突,應為常常要寫expression表達式,在寫的過程中是沒有任何提示的,寫錯了不知道,IDE里不會主動提示出來,每次都要編譯后才在操控臺輸出過錯,然后再去改,十分費事,而且要寫的表達式有些其實便是java代碼,放到字符串里,我覺得一般。主要是用這個開發(fā)效率有點低,我喜歡那種錯了就直接提示出來,而不是編譯的時分再提示。