什么是Hutool
Hutool是一个Java工具包,也就是一个工具箱,一个utils集合,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以简单粗暴。Hutool最初是作者项目中“util”包的一个整理,后来慢慢积累并加入更多非业务相关功能,并广泛学习其它开源项目精髓,经过自己整理修改,最终形成丰富的开源工具集。
Hutool功能
一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件:
- hutool-aop JDK动态代理封装,提供非IOC下的切面支持
- hutool-bloomFilter 布隆过滤,提供一些Hash算法的布隆过滤
- hutool-cache 缓存
- hutool-core 核心,包括Bean操作、日期、各种Util等
- hutool-cron 定时任务模块,提供类Crontab表达式的定时任务
- hutool-crypto 加密解密模块
- hutool-db JDBC封装后的数据操作,基于ActiveRecord思想
- hutool-dfa 基于DFA模型的多关键字查找
- hutool-extra 扩展模块,对第三方封装(模板引擎、邮件等)
- hutool-http 基于HttpUrlConnection的Http客户端封装
- hutool-log 自动识别日志实现的日志门面
- hutool-script 脚本执行封装,例如Javascript
- hutool-setting 功能更强大的Setting配置文件和Properties封装
- hutool-system 系统参数调用封装(JVM信息等)
- hutool-json JSON实现
- hutool-captcha 图片验证码实现
看了上面的一大串功能,就问你心动了没?几乎啥都包括了,无论是过滤器还是加密,还是http封装,甚至还有验证码和json工具类!
但是我之前说没用过也就是这里。比如说这个json,无论是用阿里的fastjson,还是谷歌的gson,我们都把他变成了一个随手的习惯,反正我新建项目导包是有一套必备的文案,直接cv贴进pom的那种。所以这个hutool是我去年接手公司项目的时候就知道了的,但是目前为止我还几乎没真正的用过!
毕竟开发了几年有自己的习惯,验证码用kaptcha,json处理用fastjson,加密用jwt,定时任务用quartz,这么好的一个工具箱,我反正是拿过来落灰的,这个完全是我的原因,这里还是要把这个工具百宝箱推荐给大家。估计用习惯了会觉得很实用吧。
然后再次吹一波这个工具包,我估计开发人员可能是中国人,文档写的有意思的,而且很清楚,我个人是很喜欢,感兴趣的朋友可以去看看。我目前的打算是下个项目一定要全程使用hutool(毕竟已经做完了的没啥必要改动)。
hutool中的方法都很亲民:真的好多都是常常要用到的方法,最简单的比方:获取一个日期的开始时间(自带00:00:00的那种),获取一个日期的结束时间。这种其实我工作中经常用到。
额,其实我喜欢这个工具类的另一点就是作者说话真的挺好玩的,比较有意思。而且同为中国的程序员真的是有好多共同的体会,比如这个sub,我其实工作中也用到过并且遇到过问题。所以本来对这个工具箱的功能的好感度是60的话,看了文档以后上升到90了,一种是感同身受,另一种就是作者态度不错,一直在加东西(暂定梦想是有生之年自己也写个这种工具包,职业生涯就圆满了,哈哈)。
反正强烈推荐大家可以去看下这个文档,大多数你想要的方法这里都有。