Hutool—好用的 Java 工具類庫

huangxy發表於2020-04-02

簡介

Hutool是Hu + tool的自造詞,前者是作者致敬“前任公司”,後者為工具之意,諧音“糊塗”,寓意追求“萬事都作糊塗觀,無所謂失,無所謂得”的境界

Hutool是一個Java工具包,也只是一個工具包,它幫助我們簡化每一行程式碼,減少每一個方法,讓Java語言也可以“甜甜的”。Hutool最初是我專案中“util”包的一個整理,後來慢慢積累並加入更多非業務相關功能,並廣泛學習其它開源專案精髓,經過自己整理修改,最終形成豐富的開源工具集

包含元件

一個Java基礎工具類,對檔案、流、加密解密、轉碼、正則、執行緒、XML等JDK方法進行封裝,組成各種 Uti l工具類,同時提供以下元件

模組 介紹
hutool-aop JDK動態代理封裝,提供非IOC下的切面支援
hutool-bloomFilter 布隆過濾,提供一些Hash演算法的布隆過濾
hutool-cache 簡單快取實現
hutool-core 核心,包括Bean操作、日期、各種Util等
hutool-cron 定時任務模組,提供類Crontab表示式的定時任務
hutool-crypto 加密解密模組,提供對稱、非對稱和摘要演算法封裝
hutool-db JDBC封裝後的資料操作,基於ActiveRecord思想
hutool-dfa 基於DFA模型的多關鍵字查詢
hutool-extra 擴充套件模組,對第三方封裝(模板引擎、郵件、Servlet、二維碼、Emoji、FTP、分詞等)
hutool-http 基於HttpUrlConnection的Http客戶端封裝
hutool-log 自動識別日誌實現的日誌門面
hutool-script 指令碼執行封裝,例如Javascript
hutool-setting 功能更強大的Setting配置檔案和Properties封裝
hutool-system 系統引數呼叫封裝(JVM資訊等)
hutool-json JSON實現
hutool-captcha 圖片驗證碼實現
hutool-poi 針對POI中Excel的封裝
hutool-socket 基於Java的NIO和AIO的Socket封裝

使用

引入 Hutool 依賴

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.2.5</version>
</dependency>
複製程式碼

欄位校驗器-Validator

Validator 的作用是驗證給定字串是否滿足指定條件,一般用在表單欄位驗證裡,直接呼叫Validtor.isXXX(String value)方法即可驗證欄位,該方法返回驗證是否通過驗證

使用示例

// 驗證是否為郵箱
boolean isEmail = Validator.isEmail("loolly@gmail.com");
// 驗證是否為url
boolean isUrl = Validator.isUrl("https://www.baidu.com");
複製程式碼

如果Validator裡的方法無法滿足自己的需求,那還可以通過呼叫Validator.isMactchregex(String regex, CharSequence value)方法,使用自定義正規表示式靈活的驗證內容的正確性

Validator.isMactchRegex("需要驗證欄位的正規表示式", "被驗證內容")
複製程式碼

簽名和驗證-Sign

Hutool針對java.security.Signature做了簡化包裝,包裝類為:Sign,用於生成簽名和簽名驗證,使用示例:

byte[] data = "我是一段測試字串".getBytes();
Sign sign = SecureUtil.sign(SignAlgorithm.MD5withRSA);
//簽名
byte[] signed = sign.sign(data);
//驗證簽名
boolean verify = sign.verify(data, signed);

複製程式碼

這裡指簡單介紹兩個工具類的使用,日常開發所用到的工具類在 Hutool 上都能找得到,有興趣的可以試下其他的工具類

地址:Hutool

掃碼關注我
一起學習,一起進步

簧笑語

相關文章