簡介
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