簡介
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("[email protected]");
// 驗證是否爲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