Hutool 2.16.0 發布,Java 工具集 - OSCHINA - 中文開源技術交流社區

2020-12-13 開源中國

Hutool 2.16.0 發布了。Hutool 是一個Java工具包,提供了豐富的文件、日期、日誌、正則、字符串、配置文件等工具方法,並封裝了一套簡單易用的ORM框架。 

新特性

  • Conver類變為Convert類

  • 增加Holder接口

  • 抽象BeanUtil.copyProperties,支持更多選項

  • DruidDS增加系統關閉的鉤子

  • 增加CollectionUtil中isEmpty和isNotEmpty for Iterator and Iterable

  • extractMultiAndDelPre使用Holder類代替數組,減少歧義

  • 增加FileTypeUtil用於判斷文件類型

  • FileUtil遷移至com.xiaoleilu.io中

  • 增加HexUtil,同時在Convert中增加toHex等方法,用於轉換為16進位

  • 全面更新db模塊中的ds部分,使用工廠類自動選定連接池實現

  • 擴充CollectionUtil,增加交集(intersection)、併集(union)、差集(disjunction)方法

  • ds部分增加Tomcat-jdbc-pool的實現

  • ds增加JndiDSFactory,支持JNDI數據源

  • Setting中刪除大量重複的方法,統一getXXX

  • 擴充HexUtil,增加isHexNumber方法

  • CollectionUtil增加forEach方法,用於支持Map等類型遍歷

  • 將DateUtil包變更為date,同時拆分格式化模式為單獨的類,優化性能。DateUtil中增加方法

  • SecureUtil中decodeBase64增加重載方法

  • CharsetUtil增加defaultCharset方法

  • 增加Base64類,支持url safe的encode和decode

  • StrUtil.str方法增加支持Byte[]參數支持

  • ClassUtil中增加原始類和包裝類的轉換

  • clone包單獨成包

  • 全面優化Convert,單獨成包convert,使用Convert以及其實現類實現可擴展的類型轉換

  • JSONObject實現Map接口,JSONArray實現List接口

  • 增加代理包(com.xiaoleilu.hutool.proxy),新增代理和切面功能

  • 包掃描獨立出來為ClassScaner,ClassUtil中對應方法引用此類方法

  • ClassUil增加getConstructor方法,可匹配繼承參數

  • 優化ClassPath路徑轉為絕對路徑

  • Direction增加方法從字符串轉換(大小寫不敏感)

  • 添加DigestUtil方法,用於md* sha1等摘要算法,同時簡化SecureUtil,其中md* sha1方法調用DigestUtil

  • 增加Editor接口,用於規範對象編輯器,主要用於集合元素的統一修改

  • 修改Filter接口,同時去除ClassUtil中的ClassFilter,使過濾器抽象度更高

  • HttpConnection支持Proxy

  • StrUtil中某些方法使用CharSequence接口做為參數

  • Setting 拆分配置文件解析為SettingLoader

  • ClassUtil增加getTypeArgument方法,用於獲取泛型屬性類型

  • 大量擴充Converter,支持轉換為數組

  • 增加PathConverter,轉換支持Path對象

  • Setting和Props支持文件變更自動加載

  • StrUtil增加startWithIgnoreCase和endWithIgnoreCase

  • script包引擎封裝,封裝JavaScriptEngine

  • 增加RuntimeInfo

  • 增加DateUtil.formatDiff方法

  • 增加Matcher接口,用於抽象接口邏輯

  • 新建crypto包,提供摘要算法和對稱加密算法

  • CollectionUtil增加count方法

  • CollectionUtil中關於數組方法全部遷移至ArrayUtil

  • 擴充日期工具,添加月份和周的枚舉

  • 強化DateTime類

  • 增加IoUtil.copyByNIO方法

Bug修復

  • 修復Setting中的getMap(String group)方法,去除分組頭部

  • 修復各個包中error日誌使用問題導致的無法列印堆棧

  • 修復StrUtil.join時傳入數組或集合類無法轉為字符串問題

  • 修復FileUtil.writeString方法未檢查文件的問題

  • 修復StrUtil.count修復空指針問題,給定null返回0

  • 修復BeanUtil中beanToMap方法,空值可選注入

  • 修復SqlBuilder中插入和更新對空值得判斷

  • 修復Boolean轉換的一個錯誤

  • 修復CharsetUtil中默認的destCharset錯誤賦值問題

  • 修復StrUtil.count方法錯誤計數問題

  • 修復DbSetting傳值Setting不為空空指針問題

  • 修復HttpConnection中判斷Http Method 錯誤

  • 修復PooledDataSource和SimpleDataSource配置文件讀取錯誤問題

-2016的尾巴-

隨著2016的結束,Hutool又走過了一個年頭,在這一年中,因為Hutool認識了很多志同道合之人,也因為Hutool讓我接觸了更多的開源項目。我希望在即將到來的2017年中,Hutool變得更加成熟。

特別鳴謝:https://www.oschina.net/p/feilong-core ,feilong項目可以說與Hutool是殊途同歸,同樣是解決Java編程當中的繁瑣代碼,懷著包容的思想與Hutool共同發展。未來我希望與更多的開源作者交流探討與合作,構建一個更加龐大而包容的開源世界。

——致敬在開源世界默默貢獻的每一個人

相關焦點