一個類似于jodd和Apache commons lang的Java工具類,hutool 2.11.4 發布
一個Java基礎工具類,類似于jodd和Apache commons lang的Java工具類。
簡介
Hutool是一個工具包,我日常寫項目的一些積累,參考了一些Apache Commons Lang和JODD里的一些寫法,不過大部分還是自己寫的,希望你看了之后會有所啟發或者能給你工作中帶來幫助。說實話我現在寫代碼已經離不開自己這個工具包了,叫做 Hutool也有“糊涂”之意,表示很多功能糊里糊涂就實現了。好吧,言歸正傳,說說里面一些好玩的方法(工具包中大部分是一些靜態方法)。
設計哲學
Hutool的設計思想是盡量減少重復的定義,讓項目中的util
這個package盡量少,總的來說有如下的幾個思想:
- 減少代碼錄入。
- 常用功能組合起來,實現一個功能只用一個方法。
- 簡化Java API,原來需要幾個類實現的功能我也只是用一個類甚至一個方法(想想為了個線程池我得new多少類……而且名字還不好記)
- 對于null的處理我沒有可以回避,而是采取“你給我null我也給你返回null”這種思想,盡量不在工具類里拋空指針異常(這思想稍猥瑣啊……直接把包袱扔給調用者了,好吧,誰讓你給我null了)。
- 一些固定使用的算法收集到一起,不用每次問度娘了(例如Base64算法、MD5、Sha-1,還有Hash算法)
- 借鑒Python的很多小技巧(例如列表切片,列表支持負數index),讓Java更加好用。
- 非常好用的ORM框架,同樣借鑒Python的Django框架,以鍵值對的實體代替對象實體,大大降低數據庫訪問的難度(再也不用像Hibernate一樣配置半天ORM Mapping了)。
- 極大簡化了文件、日期的操作,尤其是相對路徑和絕對路徑問題做了非常好的封裝,降低學習成本。 </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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!