最近更新|軟件分類|軟件專題|軟件排行|手機版|軟件發(fā)布hutool框架(java工具類) v4 綠色版
您的位置:首頁>編程開發(fā) > 編程工具>hutool框架(java工具類) v4 綠色版

hutool框架(java工具類) v4 綠色版java工具包

網(wǎng)友評分:

相關(guān)軟件

軟件介紹

hutool框架是一款很受歡迎的工具包,而且該軟件還使用內(nèi)置的相關(guān)工具來對http客戶端完成封裝,快捷的實現(xiàn)http的請求,因此有需要的用戶趕緊來下載吧!

hutool框架(java工具類)

hutool工具包介紹

Hutool是Hu + tool的自造詞,前者致敬我的“前任公司”,后者為工具之意,諧音“糊涂”,寓意追求“萬事都作糊涂觀,無所謂失,無所謂得”的境界。Hutool是一個Java工具包,也只是一個工具包,它幫助我們簡化每一行代碼,減少每一個方法,讓Java語言也可以“甜甜的”。Hutool最初是我項目中“util”包的一個整理,后來慢慢積累并加入更多非業(yè)務(wù)相關(guān)功能,并廣泛學(xué)習其它開源項目精髓,經(jīng)過自己整理修改,最終形成豐富的開源工具集。

軟件功能

hutool-aop JDK動態(tài)代理封裝,提供非IOC下的切面支持

hutool-bloomFilter 布隆過濾,提供一些Hash算法的布隆過濾

hutool-cache 緩存

hutool-dfa 基于DFA模型的多關(guān)鍵字查找

hutool-extra 擴展模塊,對第三方封裝(模板引擎、郵件等)

hutool-http 基于HttpUrlConnection的Http客戶端封裝

hutool-log 自動識別日志實現(xiàn)的日志門面

hutool-script 腳本執(zhí)行封裝,例如Javascript

hutool-setting 功能更強大的Setting配置文件和Properties封裝

hutool-system 系統(tǒng)參數(shù)調(diào)用封裝(JVM信息等)

hutool-json JSON實現(xiàn)

hutool-captcha 圖片驗證碼實現(xiàn)

hutool-poi 針對POI中Excel的封裝

hutool-core 核心,包括Bean操作、日期、各種Util等

hutool-cron 定時任務(wù)模塊,提供類Crontab表達式的定時任務(wù)

hutool-crypto 加密解密模塊

hutool-db JDBC封裝后的數(shù)據(jù)操作,基于ActiveRecord思想

軟件特色

1. 便捷性與靈活性并存

所謂便捷性,就是我們在調(diào)用一個方法的時候參數(shù)要盡量少,只傳必要參數(shù)即可,非必要參數(shù)使用默認值即可(想想一個方法一堆參數(shù)的時候,調(diào)用者暈頭轉(zhuǎn)向不知所云)。

所謂靈活性正好與便捷性相反,要讓一個方法的參數(shù)盡量多,為用戶靈活的操作方法提供最大可能性。

這兩個原則看似矛盾,其實只是針對不同場景設(shè)定的而已,缺一不可。便捷性強調(diào)拿來即用,為快速開發(fā)提供可能;靈活性強調(diào)最大限度調(diào)優(yōu),為性能調(diào)優(yōu)和擴展提供便利。

這一原則在針對編碼問題上體現(xiàn)尤為突出,我們的大部分方法都是默認“UTF-8”編碼的,這也是我們推薦的編碼方式,推薦大部分項目使用的編碼。但是一旦有遺留項目使用了類似“GBK”等編碼,沒關(guān)系,我們提供在相關(guān)方法中提供Charset對象參數(shù),可以自定義編碼。這樣使用這一原則就兼顧了各種項目的情況。

2. 適配與兼容

在Hutool中,適配器模式運用特別廣泛,log模塊適配主流各大框架,db模塊適配主流各種連接池和關(guān)系數(shù)據(jù)庫。這種適配一是提高靈活性,二是可以很好的兼容各大框架,讓Hutool可以在各種復(fù)雜項目環(huán)境中生存的很好。

適配兼容產(chǎn)生的另一個原則是:你有我配,你無我有。說白了就是:如果你項目中有這個框架,我可以完美適配,如果你沒有引入任何框架,Hutool自身實現(xiàn)了一些邏輯可以很好的工作。

3. 可選依賴原則

在Java項目中依賴常常是個頭疼的問題,不同的框架強依賴另一些框架或包,雖然Maven可以很好的處理沖突問題,但是項目底下滿滿的依賴jar包,是不是無形中拖慢了項目,也增加了復(fù)雜性和不確定性?而很多時候,我們是不是只是為了用一個小小的方法,就要引入一個第三方包,誰喜歡這樣臃腫的項目?

Hutool中也會有一些依賴,但是全部都是optional的,在使用中不會關(guān)聯(lián)依賴,而這些依賴只有在使用者使用到時才會調(diào)用,這時可能會報ClassNotFoundException,不用擔心,我們自己引入即可。為什么要這樣做呢?以VelocityUtil這個工具類為例,使用Velocity的人占比極少,我們不能為了這些用戶而強引入Velocity包,而使用這個工具類的人應(yīng)該明白,我們應(yīng)該自己引入這個包。

而更多時候,我們需要用到某個方法時,我的做法是將方法拷貝到項目中(Hutool中的方法正在不斷積累),類似于Apache Commons中的方法,Hutool中基本都有取代方法,完全不必要引入。

可選依賴原則讓我們的項目更加精簡,問題也更容易排查。

hutool框架(java工具類)

4. 無侵入原則

Hutool始終是一個工具類而不是框架,這意味著它對項目的侵入幾乎為零,每個方法都是可被代替的,甚至整個Hutool也是可被替換的。這種無侵入性,讓使用者可以更加放心的在項目中引入,也保證了與其它框架完美的兼容。

5. 方法優(yōu)先于對象

在工具類中,往往以靜態(tài)方法為主。方法集中在一個類中,配合IDE查找使用起來是十分便利的。于是Hutool將JDK中許多的類總結(jié)抽象為一個方法,這一原則使用最多的就是流的相關(guān)方法,這些方法很好的隱藏了XXXInputStream、XXXReader等的復(fù)雜性。

6. 自動識別優(yōu)于用戶定義

其實很多時候,有些參數(shù)、設(shè)置等是沒有必要我們自己傳入的,完全可以靠邏輯判斷自動完成。一個方法很多時候明明只需要傳3個參數(shù),我們非要傳4個,這多出的一個參數(shù)本身就是代碼的一種冗余。

這一原則在Hutool的各個角落都有所體現(xiàn),尤為明顯的比如log模塊。構(gòu)建日志對象的時候,很明顯類名可以動態(tài)獲取,何必讓使用者再傳入呢?再比如在db模塊的數(shù)據(jù)庫配置中,數(shù)據(jù)庫驅(qū)動命名完全可以根據(jù)連接字符串判斷出來,何必要讓用戶傳入?這些問題的在Hutool中都有非常好的封裝,而這一原則也漸漸變成Hutool哲學(xué)的一部分。

更新說明

- 拆分項目

- 增加 ThreadUtil.safeSleep方法

- 增加CollectionUtil.addAllIfNotContains方法

- 增加NumberUtil

- 增加hutool-cron模塊

- 增加 ThreadUtil.waitForDie

- 增加DateUtil.betweenDay方法

- 增加Snowflake算法

- 對Util類加final修飾符,并添加private構(gòu)造方法

- 增加 ThreadUtil.interupt方法

- Setting中對RuntimeException變?yōu)镾ettingRuntimeException

- [log] LogFactory.setCurrentLogFactory支持傳入LogFactory類

- [core] 增加CollectionUtil.getFirst

- [core] NumberUtil中增加binaryToInt、binaryToLong、getBinaryStr

- 增加Mutable類型

- HttpUtil.downFile增加String參數(shù)方法

- 修復(fù)NumberUtil.round方法傳入double某些數(shù)字無效問題

- 增加FileUtil.getType方法

- 優(yōu)化整理JSON部分

- 增加ThreadUtil.getThreads、getMainThread方法

- 增強JarClassLoader

- WatchMonitor增加createAll方法

- 增加NetUtil.getLocalhost

- 優(yōu)化ClassPathResource錯誤提示

- 增加 ArrayUtil.toArray方法

- MathUtil中的方法遷移到NumberUtil,去除MathUtil

- 針對Cache模塊做包結(jié)構(gòu)調(diào)整,擴展FileCache

  • 下載地址

點擊報錯軟件無法下載或下載后無法使用,請點擊報錯,謝謝!