关于java开发中的实用工具Hutool工具类
Hutool是一個(gè)小而全的Java工具類庫,通過靜態(tài)方法封裝,降低相關(guān)API的學(xué)習(xí)成本,提高工作效率,使Java擁有函數(shù)式語言般的優(yōu)雅,讓Java語言也可以“甜甜的”。
Hutool中的工具方法來自于每個(gè)用戶的精雕細(xì)琢,它涵蓋了Java開發(fā)底層代碼中的方方面面,它既是大型項(xiàng)目開發(fā)中解決小問題的利器,也是小型項(xiàng)目中的效率擔(dān)當(dāng);
Hutool是項(xiàng)目中“util”包友好的替代,它節(jié)省了開發(fā)人員對項(xiàng)目中公用類和公用工具方法的封裝時(shí)間,使開發(fā)專注于業(yè)務(wù),同時(shí)可以最大限度的避免封裝不完善帶來的bug。
附上官網(wǎng)鏈接:Hutool官網(wǎng)
同時(shí)還提供如下的組件:
hutool-aop JDK動(dòng)態(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 自動(dòng)識別日志實(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)
我在此項(xiàng)目中使用的是hutool中的TreeUtil:
鏈接地址:https://hutool.cn/docs/#/core/%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7/%E6%A0%91%E7%BB%93%E6%9E%84/%E6%A0%91%E7%BB%93%E6%9E%84%E5%B7%A5%E5%85%B7-TreeUtil
?考慮到菜單等需求的普遍性,有用戶提交了一個(gè)擴(kuò)展性極好的樹狀結(jié)構(gòu)實(shí)現(xiàn)。這種樹狀結(jié)構(gòu)可以根據(jù)配置文件靈活的定義節(jié)點(diǎn)之間的關(guān)系,也能很好的兼容關(guān)系數(shù)據(jù)庫中數(shù)據(jù)。
//配置 TreeUtilTreeNodeConfig treeNodeConfig = new TreeNodeConfig();// 自定義屬性名 都要默認(rèn)值的treeNodeConfig.setIdKey("id");// 最大遞歸深度treeNodeConfig.setDeep(200);List<Tree<Integer>> treeNodes = TreeUtil.build(treeList, 0, treeNodeConfig,(treeNode, tree) -> {tree.setId(treeNode.getId());tree.setParentId(treeNode.getParent_role_id());tree.setName(treeNode.getRole_name());tree.putExtra("users", treeNode.getList());通過TreeNodeConfig我們可以自定義節(jié)點(diǎn)的名稱、關(guān)系節(jié)點(diǎn)id名稱,這樣就可以和不同的數(shù)據(jù)庫做對應(yīng)。
希望本文能對未使用過工具類的開發(fā)者們提供新的思路與便捷方式。
總結(jié)
以上是生活随笔為你收集整理的关于java开发中的实用工具Hutool工具类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS车牌校验
- 下一篇: MySQL表结构设计之范式化和反范式化对