Java 程序員都應(yīng)該去使用一下這款強大的國產(chǎn)工具類庫

      網(wǎng)友投稿 886 2025-03-31

      這不是標題黨,今天給大家推薦一個很棒的國產(chǎn)工具類庫:Hutool。可能有很多朋友已經(jīng)知道這個類庫了,甚至在已經(jīng)在使用了,如果你還沒有使用過,那不妨去嘗試一下,我們項目組目前也在用這個。這篇文章來簡單介紹一下這個類庫。

      官網(wǎng)地址:https://www.hutool.cn/

      Hutool是一個Java工具包,它可以幫助我們簡化每一行代碼,減少每一個方法,讓Java語言也可以“甜甜的”。所以很多人稱之為:小甜甜。

      我們使用該工具類,只需要引入它的依賴即可。

      cn.hutool

      hutool-all

      4.2.1

      可能很多國內(nèi)程序員都不喜歡看官方文檔,因為基本上都是英文的,其實我還是鼓勵大家去看英文文檔的。但這個工具類的參考文檔和API文檔全是中文的,中文的,中文的,可以說能滿足很大一部分開發(fā)人員的需求了。

      先舉一個官方提供的例子,模擬一下表單提交,來一起感受一下 Hutool 的便捷。

      public?class?Demo?{

      public?static?void?main(String[] args)?{

      File file =?new?File("D:\face.jpg");

      // 第一種方式:自定義構(gòu)建表單

      HttpRequest request = HttpRequest

      .post("http://ip:port/xxxx")

      .form("file", file)

      .form("fileType",?"jpg");

      HttpResponse response = request.execute();

      System.out.println(response.body());

      // 第二種方式:使用統(tǒng)一表單,Http模塊會自動識別參數(shù)類型,并完成上傳

      HashMap paramMap =?new?HashMap<>();

      paramMap.put("author",?"倪升武");

      paramMap.put("wechat",?"程序員私房菜");

      String result = HttpUtil.post("http://ip:port/xxxx", paramMap);

      System.out.println(result);

      }

      }

      當然,Hutool 還有其他很多工具,比如對文件、流、加密解密、轉(zhuǎn)碼、正則、線程、XML等JDK方法進行封裝,組成各種Util工具類,同時也提供以下組件:

      上文導(dǎo)入的依賴是?hutool-all,意味導(dǎo)入所有的模塊,當然,我們也可以根據(jù)實際需要對上圖中的每個模塊進行單獨的依賴導(dǎo)入。由于篇幅原因,我簡單介紹其中兩個模塊,其他的模塊大家可以去看看官方文檔,去嘗試一下,還是有很多東西值得我們?nèi)W(xué)習(xí)的。

      Java 程序員都應(yīng)該去使用一下這款強大的國產(chǎn)工具類庫

      HtmlUtil(HTML工具類)

      我是蠻喜歡這個工具類的,用的最多的就是 HtmlUtil.encode,可以將一些字符轉(zhuǎn)化為安全字符,防止xss注入和SQL注入,比如我之前做網(wǎng)站的時候就用到了這個來處理評論的提交。

      comment.setContent(HtmlUtil.encode(content));

      它會轉(zhuǎn)義文本中的HTML字符為安全的字符,這樣比較安全。另外,HtmlUtil 還提供了以下方法,有興趣的朋友可以去試一下。

      CronUtil(定時任務(wù))

      我們使用 CronUtil 時,只需要在?src/main/resources/config 下放入 cron.setting 文件(默認是這個路徑的這個文件),然后在文件中放入定時規(guī)則,如:

      [com.example.hutool.cron]

      TimerTest.runTask = */2?* * * * ?

      這表示:每隔 2 秒鐘執(zhí)行一遍 com.example.hutool.cron 包下的 TimerTest 類中的 runTask 方法。這就很方便了,我在項目啟動時就把定時器打開即可,假如你是 Spring Boot 工程,就可以這么做:

      /**

      * 項目初始化配置

      *?@author?shengwu ni

      *?@date?2018-12-06

      */

      @Component

      public?class?InitConfig?{

      private?static?final?Logger LOGGER = LoggerFactory.getLogger(InitConfig.class);

      @PostConstruct

      public?void?initTimer()?{

      LOGGER.info("項目啟動,開啟Hutool定時任務(wù)……");

      CronUtil.setMatchSecond(true);

      CronUtil.start();

      }

      }

      這樣就會每隔 2 秒中去執(zhí)行一下目標方法。代碼中的 setMatchSecond(true) 是設(shè)置支持秒級別定時任務(wù),這么做是為了兼容 Quartz 表達式,5位表達式、6位表達式都兼容。可以說是很棒了。

      該類庫的其他工具類我就不一一介紹了,感興趣的讀者可以自己去官網(wǎng)看一下,我覺得最吸引人的還是非常全的中文文檔和API文檔,建議大家去閱讀一下,相信你也會喜歡上這個國產(chǎn)類庫。

      我為什么推薦大家都去嘗試一下這個類庫呢?倒不是說推薦大家一定去使用,我們可以去體驗一下該工具類是否真的可以簡化我們的編碼。這個工具類庫一開始,其實就是項目中普通的 Util 工具類,慢慢豐富,最后衍生出一個類庫,里面的大部分源碼我相信大部分程序員都可以看得懂,也是一個很好的學(xué)習(xí)機會。再說了,我的哪一篇文章讓你失望過?(得瑟臉)

      讀完這篇文章,相信你會轉(zhuǎn)發(fā)給更多的人。

      Java 開發(fā)者

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:如何在文字中用斜體替換下劃線?
      下一篇:在word中怎樣批量加粗每段首詞(word怎么把每段標題加粗)
      相關(guān)文章
      在线观看亚洲精品国产| 亚洲 无码 在线 专区| 亚洲精品国产V片在线观看| 亚洲精品精华液一区二区| 亚洲一区二区免费视频| 精品亚洲成AV人在线观看| 亚洲成AV人片在线观看| 国产亚洲精品自在久久| 亚洲精品无码成人片久久| 亚洲中文字幕在线第六区| 亚洲综合色婷婷七月丁香| 亚洲色婷婷六月亚洲婷婷6月| 国产亚洲精品免费视频播放| 亚洲中文字幕在线观看| 亚洲精品自在在线观看| 亚洲国产a∨无码中文777| 亚洲AV无码1区2区久久| 亚洲视频精品在线| 亚洲日本一区二区三区| 亚洲高清日韩精品第一区| 亚洲欧洲国产经精品香蕉网| 亚洲午夜国产精品| 91在线亚洲综合在线| 亚洲欧洲专线一区| 亚洲av无码无线在线观看| 国产亚洲高清在线精品不卡| 亚洲精品岛国片在线观看| 国产亚洲精品AA片在线观看不加载 | 亚洲大尺度无码无码专线一区| 亚洲AV无码一区二区三区电影| 怡红院亚洲红怡院在线观看| 亚洲成人一区二区| 久久久久亚洲AV综合波多野结衣 | 亚洲日韩乱码久久久久久| 亚洲免费在线观看视频| 亚洲欧美成aⅴ人在线观看| 亚洲AV无码一区二区三区鸳鸯影院| 亚洲成A∨人片天堂网无码| 最新亚洲成av人免费看| 亚洲第一精品在线视频| 亚洲噜噜噜噜噜影院在线播放 |