1. 簡介
Hutool是一個小而全的Java工具類庫,通過靜態方法封裝,降低相關API的學習成本,提高工作效率,使Java擁有函數式語言般的優雅,讓Java語言也可以“甜甜的”。
Hutool中的工具方法來自於每個用戶的精雕細琢,它涵蓋了Java開發底層代碼中的方方面面,它既是大型項目開發中解決小問題的利器,也是小型項目中的效率擔當。
Hutool是項目中“util”包友好的替代,它節省了開發人員對項目中公用類和公用工具方法的封裝時間,使開發專注於業務,同時可以最大限度的避免封裝不完善帶來的bug。
2. 包含組件
作爲一個Java基礎工具類,其對文件、流、加密解密、XML、轉碼、正則、線程等JDK方法進行封裝,組成各種Util工具類,同時提供以下組件:
模塊 | 介紹 |
---|---|
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和Word的封裝 |
hutool-socket | 基於Java的NIO和AIO的Socket封裝 |
在實際使用過程中,我們可以根據需求對每個模塊組件單獨引入,也可以通過引入hutool-all
方式引入所有組件。
3. 安裝
在項目的pom.xml的dependencies中加入以下內容:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.2</version>
</dependency>
4. 常用工具類
4.1 字符串工具類
StrUtil.isEmpty():判斷是否爲空(包含null和空字符串)
StrUtil.isBlank():判斷是否爲空白(包含null、空字符串和空白字符)
StrUtil.isNotEmpty():判斷不爲空
StrUtil.isNotBlank():判斷不爲空白
StrUtil.removePrefix():字符串去除指定字符串開始的字符
StrUtil.removeSuffix():字符串去除指定字符串結束的字符
4.2 日期工具類
DateUtil.format():日期格式化
DateUtil.parse():日期解析
4.3 集合工具類
CollUtil.isEmpty():判斷爲空(null或空集)
CollUtil.distinct():集合去重
CollUtil.removeNull():集合去空
CollUtil.union():並集
CollUtil.disjunction():交集
4.4 Json工具類
JSONUtil.toBean():JSON解析爲對象
JSONUtil.parseObj():JSON解析爲JSONObject
JSONUtil.formatJsonStr():JSON格式化
更多使用方法,這裏就不舉例了,自己研究下嘍。