发布于 2017-10-27 02:46:54 | 344 次阅读 | 评论: 0 | 来源: 网友投递
hutool Java Util 工具类
hutool 是一个Util工具类(类似之前的 common-tools),但是这个工具类依赖更少,提供更多的实用功能,可以大大加快开发的速度。里面每个类相对独立,具体请阅读注释。
Hutool 是一个Java工具包,提供了丰富的文件、日期、日志、正则、字符串、配置文件等工具方法,并封装了一套简单易用的ORM框架。
文档:http://hutool.mydoc.io/ (感谢开源中国提供非常好用的Team文档平台)
此次版本最主要的更新是POI模块加入了Sax方式读取Excel2007(03期待后续版本),还有就是bean操作不再使用JDK的内省,而改为Hutool自行实现,这样就可以支持返回this的Setter方法了,这也是众望所归的功能。
同时要特别推荐阿里家的P3C代码规约检查插件,神器一枚,3.1.2版本中大量的代码修复都是此插件功劳。传送门:https://my.oschina.net/u/3708488/blog/1551339
新特性
ArrayUtil增加containsIgnoreCase和indexOfIgnoreCase方法
DbUtil增加toSqlDate和toSqlTimestamp和setShowSqlGlobal方法
RuntimeUtil增加可选编码的方法
CharsetUtil.systemCharset修改逻辑,Windows使用GBK编码
db模块加强异常提示信息
升级可选依赖版本
Setting增加getandRemove和getAndRemoveStr方法,并去除db模块中配置键别名获取相关冗余方法
FileUtil增加subPath、getPathEle方法(针对JDK7的Path对象封装)
改进WatchMonitor,文件不存在时根据path判断是文件还是目录
参阅iceroot库,增加DateUtil增加timeToSecond和secondToTime方法(感谢@【北京】宁静)
DateUtil.beginOfWeek加入方法可选一周的第一天,且默认周一为第一天(感谢@【北京】flyinke)
Hutool-db支持value为"= null"转换为"is null"
工具类继承支持(去除private构造)
增加getGroup和findAllGroup两类方法
UrlUtil增加utf-8重载(感谢@【北京】宁静)
按照Ali规范整理代码。Cache模块中定时清理改为定时任务池方式
Http模块全局Header支持
JSON模块增加JSONStrFromater,用于格式化非标准的JSON字符串
增加BeanDesc代替JDK的BeanInfo,提供更灵活的Getter和Setter
BeanUtil.fillBean方法使用BeanDesc替换
增加FileAppender类用于积累追加文件内容
增加ReferenceUtil用于工具化创建软引用和弱引用
ReflectUtil中将异常包装为UtilExcception,并增加invoke重载支持字符串
ClassUtil中部分方法被标记过时,大部分与ReflectUtil中方法重叠,通过注释指引到ReflectUtil
core包中加入验证码生成
弃用Random类,改为ThreadLocalRandom
extra模块中增加MailUtil发送邮件工具(依赖javax.mail)
StrUtil增加strip和stripIgnoreCase方法
poi模块新增ExcelSaxReader,对大数据量的Excel读取增加支持
Bug修复
db模块修复Oracle中传入java.util.Date对象无法识别类型问题(默认按照Timestamp处理)(感谢@【杭州】wiley)
修复RuntimeUtil中乱码和单条带参数命令执行失败问题(@【北京】宁静)
修复ThreadUtil newExecutorByBlockingCoefficient中不能传入0的bug(issue#IF7UN@Gitee)
修复CollUtil.split的bug(issue#IF7UT@Gitee)
修复Page.getEndPosition()错误(感谢@【深圳】尘风了了)
修复Http中head方法读取body失败问题,略过读取body(issue#IFA3C@Gitee)
修复从正文中获取编码类型的错误(issue#IFBYO@Gitee)
修复IOUtil.readBytes中读取为0导致的越界问题(issue#46@Github)
修复Crypto模块中DESede算法密钥生成bug
修复JSON转Bean时在ignoreError模式下类型不匹配时无法忽略问题
修复RSA分组加密中中文导致的问题(pr#47@Github)
修复NumberUtil.equals方法的一个坑(精度不同导致不同)(感谢@【北京】Dull)
修复StrUtil中部分方法判空后返回原值导致的空指针问题