围绕三个问题思考:是什么?为什么?怎么用?
1. 是什么?
是一个小而全的java工具类,用于替换Java项目的Util包下的内容,因为Util包下的内容多为一些重复的内容,Hutool可以方便开发者专注于业务核心代码,而不用重复造轮子。小而全是Hutool的特点之一,它借鉴整合了其它的工具包Apache commons,Guava等,涵盖了诸多如时间,集合格式转换等的工具包,也有关于I/O,excel,二维码等处理的工具,可谓应有尽有,做到真正的小而全,小是体量小,不依赖其它插件,最大程度遵守零依赖原则,全是功能全,涵盖了所有可能用到的工具类。
是一个与业务无关的工具类,是一套Java工具包,提供了许多与业务无关的常用方法,避免重复开发。
2. 为什么?
和其它工具类相比,hutool的优势在于它小而全的特点,做到了最大程度零依赖
3. 怎么用?
设计思想
Hutool的设计思想是尽量减少重复的定义,让项目中的util这个package尽量少,总的来说有如下的几个思想:
√ 方法优先于对象
√ 自动识别优于用户定义
√ 便捷性与灵活性并存
√ 适配与兼容
√ 可选依赖原则
√ 无侵入原则
组件
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 : 扩展模块,对第三方封装(模板引擎、邮件、Servlet、二维- 码、Emoji、FTP、分词等)
- hutool-http : 基于HttpUrlConnection的Http客户端封装
- hutool-log : 自动识别日志实现的日志门面
- hutool-script : 脚本执行封装,例如Javascript
- hutool-setting : 功能更强大的Setting配置文件和Properties封装
- hutool-system : 系统参数调用封装(JVM信息等)
- hutool-json : JSON实现
- hutool-captcha : 图片验证码实现
- hutool-poi : 针对POI中Excel和Word的封装
- hutool-socket : 基于Java的NIO和AIO的Socket封装
实例
类型转换
String int互相转换
时间单位的相互转换,比如毫秒转换为天数等等
字段验证器
参考资料
https://www.javajike.com/book/hutool/
https://baijiahao.baidu.com/s?id=1589108744448685916&wfr=spider&for=pc
介绍涵盖的其它工具包有的,详解其它包没有也很好用的。