1、背景
在平時開發的過程中,你是否遇到過,當你要用到某個工具類時,通過百度查詢,但發現查詢到的方法有時存在bug。
在一個項目中會發現同一個功能的工具類方法,會有很多種寫法,逐漸的項目里就累積了很多重復的工具類方法。
以上這些場景,我想大家都遇到過,所以今天給大家介紹的就是一個比較全面的工具:hutool。
2、介紹
Hutool是一個小而全的Java工具類庫,通過靜態方法封裝,降低相關API的學習成本,提高工作效率,使Java擁有函數式語言般的優雅,讓Java語言也可以“甜甜的”。
Hutool中的工具方法來自每個用戶的精雕細琢,它涵蓋了Java開發底層代碼中的方方面面,它既是大型項目開發中解決小問題的利器,也是小型項目中的效率擔當;
Hutool是項目中“util”包友好的替代,它節省了開發人員對項目中公用類和公用工具方法的封裝時間,使開發專注于業務,同時可以最大限度的避免封裝不完善帶來的bug。
3、組件
一個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-jwt | JSON Web Token (JWT)封裝實現 |
4、引入依賴
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.4.2</version>
</dependency>
3、舉例
- 日期
比如字符串轉日期
String dateStr = "2021-12-04";
Date date = DateUtil.parse(dateStr)
日期格式化輸出
//常用格式的格式化,結果:2021-12-04
String formatDate = DateUtil.formatDate(date);
//結果:2021-12-04 00:00:00
String formatDateTime = DateUtil.formatDateTime(date);
- 字符串
判空
if(StrUtil.isNotBlank(param)){
System.out.println("非空");
}
- 集合
判空
if(CollUtil.isNotEmpty(list)){
System.out.println("非空");
}
4、源碼
如果有時間的話,可以看看人家優秀的源碼實現,對自己的代碼能力會有所提升。
關注公眾號:臻大蝦,分享更多java后端干貨
你的支持是對我不斷創作的極大鼓勵,咱們下期見。