賊 TM 好用的 Java 工具類庫
點(diǎn)擊關(guān)注上方“程序IT圈”,
設(shè)為“置頂或星標(biāo)”,第一時(shí)間送達(dá)干貨


最近博主看到了一款小而全的 Java 工具類庫:Hutool,Github 已經(jīng)接近 15K Star 了,想必一定很優(yōu)秀,現(xiàn)在推薦給大家,很多輪子不要再造了!
Hutool 是什么
Hutool 是一個(gè) Java 工具包類庫,它可以對文件、流、加密解密、轉(zhuǎn)碼、正則、線程、XML等JDK方法進(jìn)行封裝,組成各種 Utils 工具類。
Hutool 即是 Hu(諧音“糊涂”) + tool,前者致敬作者 “前任公司”,后者為工具之意,諧音“糊涂”,寓意追求“萬事都作糊涂觀,無所謂失,無所謂得”的境界。
Hutool如何改變我們的coding方式
Hutool的目標(biāo)是使用一個(gè)工具方法代替一段復(fù)雜代碼,從而最大限度的避免“復(fù)制粘貼”代碼的問題,徹底改變我們寫代碼的方式。像這樣的項(xiàng)目,咱們公眾號還推薦過很多,可以關(guān)注公眾號 Java后端,回復(fù) 666 下載。
功能
一個(gè)Java基礎(chǔ)工具類,對文件、流、加密解密、轉(zhuǎn)碼、正則、線程、XML等JDK方法進(jìn)行封裝,組成各種Util工具類,同時(shí)提供以下組件:
hutool-aop JDK動態(tài)代理封裝,提供非IOC下的切面支持 hutool-bloomFilter 布隆過濾,提供一些Hash算法的布隆過濾 hutool-cache 緩存 hutool-core 核心,包括Bean操作、日期、各種Util等 hutool-cron 定時(shí)任務(wù)模塊,提供類Crontab表達(dá)式的定時(shí)任務(wù) hutool-crypto 加密解密模塊 hutool-db JDBC封裝后的數(shù)據(jù)操作,基于ActiveRecord思想 hutool-dfa 基于DFA模型的多關(guān)鍵字查找 hutool-extra 擴(kuò)展模塊,對第三方封裝(模板引擎、郵件等) hutool-http 基于HttpUrlConnection的Http客戶端封裝 hutool-log 自動識別日志實(shí)現(xiàn)的日志門面 hutool-script 腳本執(zhí)行封裝,例如Javascript hutool-setting 功能更強(qiáng)大的Setting配置文件和Properties封裝 hutool-system 系統(tǒng)參數(shù)調(diào)用封裝(JVM信息等) hutool-json JSON實(shí)現(xiàn) hutool-captcha 圖片驗(yàn)證碼實(shí)現(xiàn)
簡單測試
SecureUtil(加密解密工具)
user?= userService.userLoginByName(loginName,SecureUtil.md5(loginPwd));HtmlUtil(HTML工具類)
HtmlUtil.encode,可以將一些字符轉(zhuǎn)化為安全字符,防止xss注入和SQL注入,比如下面的評論提交。comment.setCommentAuthor(HtmlUtil.encode(comment.getCommentAuthor()));標(biāo)簽給轉(zhuǎn)化成,這樣轉(zhuǎn)化之后,js代碼就不會執(zhí)行了。HtmlUtil.restoreEscaped 還原被轉(zhuǎn)義的HTML特殊字符 HtmlUtil.encode 轉(zhuǎn)義文本中的HTML字符為安全的字符 HtmlUtil.cleanHtmlTag 清除所有HTML標(biāo)簽 HtmlUtil.removeHtmlTag 清除指定HTML標(biāo)簽和被標(biāo)簽包圍的內(nèi)容 HtmlUtil.unwrapHtmlTag 清除指定HTML標(biāo)簽,不包括內(nèi)容 HtmlUtil.removeHtmlAttr 去除HTML標(biāo)簽中的屬性 HtmlUtil.removeAllHtmlAttr 去除指定標(biāo)簽的所有屬性 HtmlUtil.filter 過濾HTML文本,防止XSS攻擊 CronUtil(定時(shí)任務(wù))
cc.ryanc.halo.web.controller.admin.BackupController.backupResources =?0?0?1?* * ?
cc.ryanc.halo.web.controller.admin.BackupController.backupDatabase =?0?0?1?* * ?
cc.ryanc.halo.web.controller.admin.BackupController.backupPosts =?0?0?1?* * ?@Override
public?void?onApplicationEvent(ContextRefreshedEvent event){
????this.loadActiveTheme();
????this.loadOptions();
????this.loadFiles();
????this.loadThemes();
????//啟動定時(shí)任務(wù)
????CronUtil.start();
????log.info("定時(shí)任務(wù)啟動成功!");
}安裝
Maven 在項(xiàng)目的 pom.xml 的 dependencies 中加入以下內(nèi)容:
<dependency>
????<groupId>cn.hutoolgroupId>
????<artifactId>hutool-allartifactId>
????<version>5.3.10version>
dependency>Gradle:
compile 'cn.hutool:hutool-all:5.3.10'這個(gè)類庫還是咱國人程序員們開源的:

Hutool 也歡迎任何人為Hutool添磚加瓦,貢獻(xiàn)代碼,不過作者是一個(gè)強(qiáng)迫癥患者,為了照顧病人,需要提交的pr(pull request)符合一些規(guī)范。
最后,也感謝為開源作出貢獻(xiàn)的程序員們,如果有用得著的,大家也不要重復(fù)造輪子了!
Github 和 官方網(wǎng)址:
Github:
https://github.com/looly/hutool/
官方網(wǎng)址:
https://hutool.cn/
參考:
[1] ryanc.cc/archives/hutool-java-tools-lib
[2]?https://mp.weixin.qq.com/s/z281X6vhWt3Zcry9QXgZ_w
——End——
后臺回復(fù)關(guān)鍵字:進(jìn)群,帶你進(jìn)入高手如云的交流群。 推薦閱讀
干掉 Swagger (絲襪哥),試試這個(gè)新工具! Windows將被微軟放棄?淪為Linux子系統(tǒng)。 #北工大#男生自宮事件?太狠了!稱性欲影響學(xué)業(yè),最新情況... 微信竟然可以查出行軌跡了,預(yù)計(jì)又一波情侶要分手? 阿里云回應(yīng):壓根沒有“阿里云網(wǎng)盤”,我們做的不是網(wǎng)盤
這是一個(gè)能學(xué)到技術(shù)的公眾號,歡迎關(guān)注
