大家好,我是
node哥哥
,一個被Bug耽誤了才藝的程序員,專注於Java領域的知識分享和技術交流,每天會給大家帶來Java學習的乾貨教程,喜歡我的同學可以關注我
,一起學習,一起加油!
今天是六一國際兒童節,首先在這裏祝各位程序yuan們節日快樂🎉🎉🎉
哈哈,小朋友們今天都會收到特別的禮物,那麼作爲這個星球上最可愛的程序yuan們,怎麼能沒有禮物?
來,安排!
本篇給你們帶來一個超級甜的Java工具類庫——Hutool
Hutool
github地址:https://github.com/looly/hutool
gitee地址:https://github.com/looly/hutool
什麼是Hutool?
來看下官網作者的解釋:
Hutool是一個Java工具包,也只是一個工具包,它幫助我們簡化每一行代碼,減少每一個方法,讓Java語言也可以“甜甜的”。Hutool最初是我項目中“util”包的一個整理,後來慢慢積累並加入更多非業務相關功能,並廣泛學習其它開源項目精髓,經過自己整理修改,最終形成豐富的開源工具集。
Hutool設計理念
Hutool的設計思想是儘量減少重複的定義,讓項目中的util這個package儘量少,總的來說有如下的幾個思想:
- 方法優先於對象
- 自動識別優於用戶定義
- 便捷性與靈活性並存
- 適配與兼容
- 可選依賴原則
- 無侵入原則
爲什麼選擇Hutool?
目前市面上開源的Java工具類庫有很多,一些非常優秀的像谷歌Guava、Apache的commons包、甚至很多人喜歡使用框架內部提供的一些工具類(例如Spring的BeanUtils)。它們封裝了許多Java程序員日常所需的工具類如FileUtils、StringUtils、ArrayUtils等等,Hutool作爲一個Java的超級工具集,囊括了我們日常開發所需的幾乎所有的工具類庫,來一起看看都有哪些:
模塊 | 介紹 |
---|---|
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封裝 |
怎麼用?
- 通過maven安裝:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.6</version>
</dependency>
- 通過Gradle安裝:
compile 'cn.hutool:hutool-all:5.3.6'
引入項目之後,打開官方文檔 ,根據你的需要搜索找到對應的工具類,按照提示CV就完了。
比如我想用Excel相關操作的工具類,我先來搜索一波:
找到ExcelUtil後點開:
看到了吧,簡單使用的demo文檔上寫的明明白白,只要複製粘貼就能快速上手。
如果這簡單的小例子不能滿足你的需求,那你可以打開Api文檔,看下更多詳細的操作。
API文檔:https://apidoc.gitee.com/loolly/hutool/
打開後,還是熟悉的味道,自己操作就完了:
牆裂推薦的理由?
我來拿字符串操作工具類StrUtil舉個例子:
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
public class HutoolTest {
public static void main(String[] args) {
// String 操作
String str = "hello_word";
System.out.println(StrUtil.isBlank(str)); // 判斷字符串是否爲空
System.out.println(StrUtil.toCamelCase(str)); // 字符串“_”轉駝峯
System.out.println(StrUtil.concat(true, str, null, "123")); //字符串連接
System.out.println(ArrayUtil.toString(StrUtil.splitToArray(str, '_'))); // 字符串拆分數組,內部幫我們做了判斷,所以是安全的
}
}
運行結果:
打開StrUtil的類方法圖看下,StrUtil給我們提供了非常全面String操作的工具方法,開箱即用,非常爽。
再下載源碼點進去看下,註釋都是中文的,而且非常詳細。看到註釋我們就能知道這個方法大概是做什麼的,有什麼注意事項,這對小白來說可以說是非常良心了。
怎麼樣?國產的工具類夠甜嗎?還不趕緊去嘗試一下這份特別的六一禮物?
聲明:我和Hutool組織沒有任何利益關係,本篇完全是作者在親身使用hutool多年後真的覺得好用才自發的給他宣傳一波,畢竟,技術是開源的,好東西當然要一起分享的嘛,啊哈哈~
創作不易,如果您喜歡這篇文章的話,請你 點贊 + 評論 支持一下作者好嗎?您的支持是我創作的源泉哦!喜歡Java,熱衷學習的小夥伴可以加我微信: xia_qing2012 ,私聊我可以獲取最新Java基礎到進階的全套學習資料。大家一起學習進步,成爲大佬!