成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

賊好用的Java工具類庫(kù),GitHub星標(biāo)10k+,你在用嗎?

開(kāi)發(fā) 后端
這兩天使用Hutool把Halo里面的一些代碼給替換掉了,不得不說(shuō),用起來(lái)十分順心,下面簡(jiǎn)單介紹一下我用到的一些Hutool的工具類。

 

簡(jiǎn)介

Hutool是Hu + tool的自造詞,前者致敬我的“前任公司”,后者為工具之意,諧音“糊涂”,寓意追求“萬(wàn)事都作糊涂觀,無(wú)所謂失,無(wú)所謂得”的境界。

Hutool是一個(gè)Java工具包,也只是一個(gè)工具包,它幫助我們簡(jiǎn)化每一行代碼,減少每一個(gè)方法,讓Java語(yǔ)言也可以“甜甜的”。Hutool最初是我項(xiàng)目中“util”包的一個(gè)整理,后來(lái)慢慢積累并加入更多非業(yè)務(wù)相關(guān)功能,并廣泛學(xué)習(xí)其它開(kāi)源項(xiàng)目精髓,經(jīng)過(guò)自己整理修改,最終形成豐富的開(kāi)源工具集。(抄自作者簡(jiǎn)介)

功能

一個(gè)Java基礎(chǔ)工具類,對(duì)文件、流、加密解密、轉(zhuǎn)碼、正則、線程、XML等JDK方法進(jìn)行封裝,組成各種Util工具類,同時(shí)提供以下組件:

  •  hutool-aop JDK動(dòng)態(tài)代理封裝,提供非IOC下的切面支持
  •  hutool-bloomFilter 布隆過(guò)濾,提供一些Hash算法的布隆過(guò)濾
  •  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ò)展模塊,對(duì)第三方封裝(模板引擎、郵件等)
  •  hutool-http 基于HttpUrlConnection的Http客戶端封裝
  •  hutool-log 自動(dòng)識(shí)別日志實(shí)現(xiàn)的日志門(mé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)

簡(jiǎn)單測(cè)試

這兩天使用Hutool把Halo里面的一些代碼給替換掉了,不得不說(shuō),用起來(lái)十分順心,下面簡(jiǎn)單介紹一下我用到的一些Hutool的工具類。

SecureUtil(加密解密工具)

主要是在登錄的時(shí)候還有修改密碼的時(shí)候用到的,因?yàn)閿?shù)據(jù)庫(kù)里面的密碼是md5加密處理的,所以登錄的時(shí)候需要先加密之后再到數(shù)據(jù)庫(kù)進(jìn)行查詢,使用Hutool的話,只需要調(diào)用SecureUtil中的md5方法就可以了。 

  1. user = userService.userLoginByName(loginName,SecureUtil.md5(loginPwd)); 

HtmlUtil(HTML工具類)

這個(gè)工具類就比較厲害了,不過(guò)我在Halo當(dāng)中用得最多的還是HtmlUtil.encode,可以將一些字符轉(zhuǎn)化為安全字符,防止xss注入和SQL注入,比如下面的評(píng)論提交。 

  1. comment.setCommentAuthor(HtmlUtil.encode(comment.getCommentAuthor())); 

這就是防止有小壞蛋故意寫(xiě)一些可執(zhí)行的js代碼,然后提交評(píng)論,在后臺(tái)面板就會(huì)執(zhí)行這一段代碼,比較危險(xiǎn),使用encode方法就可以將<script>標(biāo)簽給轉(zhuǎn)化成<script>,這樣轉(zhuǎn)化之后,js代碼就不會(huì)執(zhí)行了。

另外,HtmlUtil還提供了以下方法,有興趣的可以去試一下。

  •  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 過(guò)濾HTML文本,防止XSS攻擊
  •  CronUtil(定時(shí)任務(wù))

這個(gè)工具就更厲害了,完全不需要類似quartz這樣的框架來(lái)做定時(shí)任務(wù),而且CronUtil也不需要任何其他依賴,只需要在resources下建一個(gè)配置文件,然后在程序啟動(dòng)的時(shí)候?qū)⒍〞r(shí)任務(wù)開(kāi)啟就行了,如Halo的定時(shí)備份功能(每天凌晨1點(diǎn)備份一次)。

cron.setting: 

  1. cc.ryanc.halo.web.controller.admin.BackupController.backupResources = 0 0 1 * * ?  
  2. cc.ryanc.halo.web.controller.admin.BackupController.backupDatabase = 0 0 1 * * ?  
  3. cc.ryanc.halo.web.controller.admin.BackupController.backupPosts = 0 0 1 * * ?  
  1. @Override  
  2. public void onApplicationEvent(ContextRefreshedEvent event){  
  3.     this.loadActiveTheme();  
  4.     this.loadOptions();  
  5.     this.loadFiles();  
  6.     this.loadThemes();  
  7.     //啟動(dòng)定時(shí)任務(wù)  
  8.     CronUtil.start();  
  9.     log.info("定時(shí)任務(wù)啟動(dòng)成功!");  

好了,就介紹這三個(gè)工具類,有興趣的可以去試試其他的工具,挺全的,這應(yīng)該是我用過(guò)最好用的一個(gè)工具類庫(kù)了,值得一試。 

 

責(zé)任編輯:龐桂玉 來(lái)源: Java編程
相關(guān)推薦

2020-11-10 10:46:57

開(kāi)源后臺(tái)管理系統(tǒng)Base Admin

2021-04-09 16:25:00

GitHub代碼開(kāi)發(fā)者

2019-11-01 12:47:39

Github技術(shù) 軟件

2019-12-24 11:13:02

GitHub代碼開(kāi)發(fā)者

2020-08-28 15:42:30

GitHub代碼可視化

2021-11-26 05:57:12

開(kāi)源備份Restic

2019-11-08 10:34:42

開(kāi)發(fā)者技能工具

2021-10-21 05:57:33

網(wǎng)盤(pán)開(kāi)源云盤(pán)系統(tǒng)

2020-11-27 15:35:18

GitHubVue.js開(kāi)發(fā)

2020-02-20 10:00:04

GitHubPyTorch開(kāi)發(fā)者

2022-03-25 22:57:37

系統(tǒng)設(shè)計(jì)架構(gòu)

2019-12-05 14:30:09

Java開(kāi)發(fā)代碼

2021-09-04 15:42:17

GitHub面試程序員

2021-04-26 14:44:44

程序員技能開(kāi)發(fā)者

2021-09-18 11:28:29

GitHub代碼開(kāi)發(fā)者

2020-10-13 17:10:24

GithubRedis數(shù)據(jù)庫(kù)

2021-01-29 11:06:14

GitHub 數(shù)據(jù)開(kāi)發(fā)

2018-09-01 08:30:43

自媒體運(yùn)營(yíng)工具

2019-09-16 09:58:16

GitHub搶票Python

2021-09-16 15:52:05

GitHub命令URL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 一区二区日本 | 亚洲国产aⅴ成人精品无吗 欧美激情欧美激情在线五月 | 国产色婷婷精品综合在线播放 | 综合伊人 | 中文字幕免费视频 | 亚洲精品一区中文字幕乱码 | 久久最新网址 | 国产区第一页 | 四虎影院一区二区 | 五月婷婷在线播放 | 精品欧美一区二区精品久久 | 久草在线免费资源 | 免费黄色的视频 | 午夜国产在线 | 一区精品在线观看 | 狠狠草视频 | 欧美天堂| 免费的日批视频 | 国产精品成人一区二区三区 | 91久久精品视频 | 午夜激情影院 | 午夜丰满寂寞少妇精品 | 欧美伊人影院 | 国产精品一区二区视频 | 精品中文字幕在线观看 | 亚洲精品视频在线看 | 日韩久久精品视频 | 日本天天色 | 懂色av色香蕉一区二区蜜桃 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 亚洲欧美日韩网站 | wwwxx在线观看| 成人性视频免费网站 | 一级欧美 | 色天天综合 | 成在线人视频免费视频 | 中文字幕在线一区 | 久草网址 | 国产美女自拍视频 | 一区二区三区免费 | a黄毛片|