1. 程式人生 > >hutool java工具架包功能介紹

hutool java工具架包功能介紹

http://git.oschina.net/loolly/hutool

一個Java基礎工具類,類似於joddApache commons lang的Java工具類。

功能

一個Java基礎工具類,對檔案、流、加密解密、轉碼、正則、執行緒、XML等JDK方法進行封裝,組成各種Util工具類,同時提供以下元件:

  • 布隆過濾

  • 快取

  • 克隆介面

  • 型別轉換

  • 日期處理

  • 資料庫ORM(基於ActiveRecord思想)

  • 基於DFA有限自動機的多個關鍵字查詢

  • HTTP客戶端

  • IO和檔案

  • 有用的一些資料結構

  • 日誌

  • 反射代理類的簡化(AOP切面實現)

  • Setting(一種擴充套件Properties的配置檔案)

  • System(JVM和系統資訊等)

  • WatchService的封裝(檔案變動監控)

  • XXXUtil各種有用的工具類

簡介

Hutool是一個工具包,我日常寫專案的一些積累,希望你看了之後會有所啟發或者能給你工作中帶來幫助。這個工具包叫做Hutool也有“糊塗”之意,意為很多時候我們並不需要關注細節,專注業務。

設計哲學

Hutool的設計思想是儘量減少重複的定義,讓專案中的util這個package儘量少,總的來說有如下的幾個思想:

  1. 減少程式碼錄入。

  2. 常用功能組合起來,實現一個功能只用一個方法。

  3. 簡化Java API,原來需要幾個類實現的功能我也只是用一個類甚至一個方法(想想為了個執行緒池我得new多少類……而且名字還不好記)

  4. 對於null的處理我沒有可以迴避,而是採取“你給我null我也給你返回null”這種思想,儘量不在工具類裡拋空指標異常(這思想稍猥瑣啊……直接把包袱扔給呼叫者了,好吧,誰讓你給我null了)。

  5. 一些固定使用的演算法收集到一起,不用每次問度娘了(例如Base64演算法、MD5、Sha-1,還有Hash演算法)

  6. 借鑑Python的很多小技巧(例如列表切片,列表支援負數index),讓Java更加好用。

  7. 非常好用的ORM框架,同樣借鑑PythonDjango框架,以鍵值對的實體代替物件實體,大大降低資料庫訪問的難度(再也不用像Hibernate一樣配置半天ORM Mapping了)。

  8. 極大簡化了檔案、日期的操作,尤其是相對路徑和絕對路徑問題做了非常好的封裝,降低學習成本。

安裝

Maven

在專案的pom.xml的dependencies中加入以下內容:

  1. <dependency>
  2. <groupId>com.xiaoleilu</groupId>
  3. <artifactId>hutool-all</artifactId>
  4. <version>3.0.1</version></dependency>

非Maven專案

可以從http://search.maven.org/ 搜尋hutool找到專案,點選對應版本,下面是相應的Jar包,匯入即可使用。