賊好用的Java工具類庫,GitHub星標(biāo)13k+,很是厲害!
點擊上方[全棧開發(fā)者社區(qū)]→右上角[...]→[設(shè)為星標(biāo)?]

簡介
Hutool是Hu + tool的自造詞,前者致敬我的“前任公司”,后者為工具之意,諧音“糊涂”,寓意追求“萬事都作糊涂觀,無所謂失,無所謂得”的境界。
Hutool是一個Java工具包,也只是一個工具包,它幫助我們簡化每一行代碼,減少每一個方法,讓Java語言也可以“甜甜的”。Hutool最初是我項目中“util”包的一個整理,后來慢慢積累并加入更多非業(yè)務(wù)相關(guān)功能,并廣泛學(xué)習(xí)其它開源項目精髓,經(jīng)過自己整理修改,最終形成豐富的開源工具集。(抄自作者簡介)
功能
一個Java基礎(chǔ)工具類,對文件、流、加密解密、轉(zhuǎn)碼、正則、線程、XML等JDK方法進行封裝,組成各種Util工具類,同時提供以下組件:
hutool-aop JDK動態(tài)代理封裝,提供非IOC下的切面支持
hutool-bloomFilter 布隆過濾,提供一些Hash算法的布隆過濾
hutool-cache 緩存
hutool-core 核心,包括Bean操作、日期、各種Util等
hutool-cron 定時任務(wù)模塊,提供類Crontab表達式的定時任務(wù)
hutool-crypto 加密解密模塊
hutool-db JDBC封裝后的數(shù)據(jù)操作,基于ActiveRecord思想
hutool-dfa 基于DFA模型的多關(guān)鍵字查找
hutool-extra 擴展模塊,對第三方封裝(模板引擎、郵件等)
hutool-http 基于HttpUrlConnection的Http客戶端封裝
hutool-log 自動識別日志實現(xiàn)的日志門面
hutool-script 腳本執(zhí)行封裝,例如Javascript
hutool-setting 功能更強大的Setting配置文件和Properties封裝
hutool-system 系統(tǒng)參數(shù)調(diào)用封裝(JVM信息等)
hutool-json JSON實現(xiàn)
hutool-captcha 圖片驗證碼實現(xiàn)
簡單測試
這兩天使用Hutool把Halo里面的一些代碼給替換掉了,不得不說,用起來十分順心,下面簡單介紹一下我用到的一些Hutool的工具類。
SecureUtil(加密解密工具)
主要是在登錄的時候還有修改密碼的時候用到的,因為數(shù)據(jù)庫里面的密碼是md5加密處理的,所以登錄的時候需要先加密之后再到數(shù)據(jù)庫進行查詢,使用Hutool的話,只需要調(diào)用SecureUtil中的md5方法就可以了。
user?=?userService.userLoginByName(loginName,SecureUtil.md5(loginPwd));
HtmlUtil(HTML工具類)
這個工具類就比較厲害了,不過我在Halo當(dāng)中用得最多的還是HtmlUtil.encode,可以將一些字符轉(zhuǎn)化為安全字符,防止xss注入和SQL注入,比如下面的評論提交。
comment.setCommentAuthor(HtmlUtil.encode(comment.getCommentAuthor()));
這就是防止有小壞蛋故意寫一些可執(zhí)行的js代碼,然后提交評論,在后臺面板就會執(zhí)行這一段代碼,比較危險,使用encode方法就可以將
