https://hutool.cn/docs/#/
入門和安裝
A set of tools that keep Java sweet.html
-- 主頁:https://hutool.cn/ | https://www.hutool.club/ --java
-- QQ羣③:555368316 -- -- QQ羣④:718802356 --git
簡介
Hutool是一個小而全的Java工具類庫,經過靜態方法封裝,下降相關API的學習成本,提升工做效率,使Java擁有函數式語言般的優雅,讓Java語言也能夠「甜甜的」。github
Hutool中的工具方法來自於每一個用戶的精雕細琢,它涵蓋了Java開發底層代碼中的方方面面,它既是大型項目開發中解決小問題的利器,也是小型項目中的效率擔當;算法
Hutool是項目中「util」包友好的替代,它節省了開發人員對項目中公用類和公用工具方法的封裝時間,使開發專一於業務,同時能夠最大限度的避免封裝不完善帶來的bug。json
Hutool名稱的由來
Hutool = Hu + tool,是原公司項目底層代碼剝離後的開源庫,「Hu」是公司名稱的表示,tool表示工具。Hutool諧音「糊塗」,一方面簡潔易懂,一方面寓意「可貴糊塗」。api
Hutool如何改變咱們的coding方式
Hutool的目標是使用一個工具方法代替一段複雜代碼,從而最大限度的避免「複製粘貼」代碼的問題,完全改變咱們寫代碼的方式。緩存
以計算MD5爲例:網絡
- 【之前】打開搜索引擎 -> 搜「Java MD5加密」 -> 打開某篇博客-> 複製粘貼 -> 改改好用
- 【如今】引入Hutool -> SecureUtil.md5()
Hutool的存在就是爲了減小代碼搜索成本,避免網絡上良莠不齊的代碼出現致使的bug。oracle
包含組件
一個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的封裝 |
hutool-socket | 基於Java的NIO和AIO的Socket封裝 |
能夠根據需求對每一個模塊單獨引入,也能夠經過引入hutool-all
方式引入全部模塊。
文檔
安裝
Maven
在項目的pom.xml的dependencies中加入如下內容:
Copy to clipboardErrorCopied<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.0.7</version> </dependency>
Gradle
Copy to clipboardErrorCopiedcompile 'cn.hutool:hutool-all:5.0.7'
非Maven項目
點擊如下任一連接,下載hutool-all-X.X.X.jar
便可:
注意 Hutool 5.x支持JDK8+,對Android平臺沒有測試,不能保證全部工具類獲工具方法可用。 若是你的項目使用JDK7,請使用Hutool 4.x版本
編譯安裝
訪問Hutool的碼雲主頁:https://gitee.com/loolly/hutool 下載整個項目源碼(v5-master或v5-dev分支均可)而後進入Hutool項目目錄執行:
Copy to clipboardErrorCopied./hutool.sh install
而後就可使用Maven引入了。
添磚加瓦
分支說明
Hutool的源碼分爲兩個分支,功能以下:
分支 | 做用 |
---|---|
v5-master | 主分支,release版本使用的分支,與中央庫提交的jar一致,不接收任何pr或修改 |
v5-dev | 開發分支,默認爲下個版本的SNAPSHOT版本,接受修改或pr |
提供bug反饋或建議
提交問題反饋請說明正在使用的JDK版本呢、Hutool版本和相關依賴庫版本。
貢獻代碼的步驟
- 在Gitee或者Github上fork項目到本身的repo
- 把fork過去的項目也就是你的項目clone到你的本地
- 修改代碼(記得必定要修改v5-dev分支)
- commit後push到本身的庫(v5-dev分支)
- 登陸Gitee或Github在你首頁能夠看到一個 pull request 按鈕,點擊它,填寫一些說明信息,而後提交便可。
- 等待做者合併
PR遵守的原則
Hutool歡迎任何人爲Hutool添磚加瓦,貢獻代碼,不過做者是一個強迫症患者,爲了照顧病人,須要提交的pr(pull request)符合一些規範,規範以下:
- 註釋完備,尤爲每一個新增的方法應按照Java文檔規範標明方法說明、參數說明、返回值說明等信息,必要時請添加單元測試,若是願意,也能夠加上你的大名。
- Hutool的縮進按照Eclipse(不要跟我說IDEA多好用,做者很是懶,學不會,IDEA真香,改了Eclipse快捷鍵後舒服多了)默認(tab)縮進,因此請遵照(不要和我爭執空格與tab的問題,這是一個病人的習慣)。
- 新加的方法不要使用第三方庫的方法,Hutool遵循無依賴原則(除非在extra模塊中加方法工具)。
- 請pull request到
v5-dev
分支。Hutool在5.x版本後使用了新的分支:v5-master
是主分支,表示已經發布中央庫的版本,這個分支不容許pr,也不容許修改。
捐贈
若是你以爲Hutool不錯,能夠捐贈請做者吃包辣條~,在此表示感謝^_^。
點擊如下連接,將頁面拉到最下方點擊「捐贈」便可。