一個類似于jodd和Apache commons lang的Java工具類,hutool 2.11.4 發布

jopen 9年前發布 | 14K 次閱讀 Hutool

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

簡介

Hutool是一個工具包,我日常寫項目的一些積累,參考了一些Apache Commons LangJODD里的一些寫法,不過大部分還是自己寫的,希望你看了之后會有所啟發或者能給你工作中帶來幫助。說實話我現在寫代碼已經離不開自己這個工具包了,叫做 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. 極大簡化了文件、日期的操作,尤其是相對路徑和絕對路徑問題做了非常好的封裝,降低學習成本。
  9. </ol> ●修復Strutil.hasBlank方法
    ●增加DaoTemplate
    ●調整SqlExecutor、SqlConnRunner、SqlRunner三個類的功能區分,去除繼承依賴
    ●修復DaoTemplate
    ●為VelocityUtil增加Session參數的讀取
    ●修復VelocityUtil中Session參數的bug
    ●DaoTemplate增加addOrUpdate方法
    ●SqlBuilder增加IN,修復WHERE條件為空時WHERE關鍵字丟失問題
    ●為Velocity添加全局上下文功能
    ●修復db的SqlBuilder中where語句為空導致語法錯誤
    ●優化Singleton類,輕量化同步
    ●增加HandleHelper.HandleRow方法,只接受一個ResultSet對象
    ●修復ClassPath帶空格和中文導致的Class文件找不到
    ●更新依賴的包版本為最新
    ●修復Oracle的SQL語句中反引號導致的錯誤
    ●修復空Where語句導致的表名找不到引起的空指針問題(優化錯誤提示)
    ●修復DaoTemplate中add和update方法默認獲取不到當前表名的問題
    ●修復Entity的fillVo方法返回對象錯誤問題
    ●StrUtil.encode和byte方法重了,并修改方法內容,使charset為空時使用平臺相關字符集
    ●HttpUtil中獲得客戶端IP地址處理多級反向代理
    ●復Oracle無自增主鍵insert報錯問題
    ●擴展insert方法,使之返回插入行數、主鍵、Long型自增主鍵并存
    ●擴展DaoTemplate方法
    ●FileUtil中增加normalizePath方法
    ●增加ZipUtil
    ●修改XmlUtil
    ●增加getAbsolutePath方法
    ●增加URLUtil.getPath方法
    ●修改InjectUtil,支持忽略大小寫
    ●Entity中toVo區別是否忽略大小寫</span>

     本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
     轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
     本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!