目录
一、Hutool是什么
1、概念
Hutool只是一个JAVA工具包,有助于简化代码,避免重复造轮子,每个程序员都有自己的工具包,它代表了你工作的积累,Hutool只是收集了大家积累的工具,Hutool几乎涵盖了工作中大部分业务的工具。
2、模块(组件)
一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件:
- hutool-core :核心,包括Bean操作、日期、各种Util等
- hutool-aop :JDK动态代理封装,提供非IOC下的切面支持
- hutool-bloomFilter :布隆过滤,提供一些Hash算法的布隆过滤
- hutool-cache:缓存
- hutool-cron:定时任务模块,提供类Crontab表达式的定时任务
- hutool-crypto :加密解密模块
- hutool-db :JDBC封装后的数据操作,基于ActiveRecord思想
- hutool-dfa :基于DFA模型的多关键字查找(例如:过滤敏感词汇)
- hutool-extra: 扩展模块,对第三方封装(模板引擎、邮件、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的封装
- hutool-socket:基于Java的NIO和AIO的Socket封装
二、工具和框架的区别
1、框架
解决大问题,解决特定业务问题、解决协作问题;框架的好坏决定了项目的成败。
2、工具
解决小问题,解决细节问题,解决个体问题;工具则是决定效率的高低。
三、Hutool与已有工具的对应关系
- hutool-core :Apache-Commons-Lang等
- hutool-aop :Spring
- hutool-bloomFilter :无
- hutool-cache:Guava的Cache模块、Jodd的Cache模块
- hutool-cron:Quartz、Cron4j
- hutool-crypto :BouncyCastle
- hutool-db :DbUtils、Jfinal的db部分、Nutz的dao、JOOQ、MyBatis
- hutool-dfa :无
- hutool-extra:JavaMail、Zxing、Emoji4j、Commons-net等
- hutool-http :OKHttp、HttpClient、Jodd的http模块
- hutool-log :Slf4j
- hutool-script :无
- hutool-setting :无
- hutool-system:无
- hutool-json :FastJson、Jackson、Json-lib
- hutool-captcha: Jcaptcha
- hutool-poi:POI、EasyPOI等
- hutool-socket:t-io、Smart-socket、Netty等
四、Hutool的优势
其余工具跟Huttol相比,有哪些不足:
- Apache全家桶:英文注释,方法使用需要查
- Guava:Jar包很大,API别扭
- Jodd:与Hutool最相似,功能不齐全
- Nutz:工具方法很好用,但是是一个框架
- Voovan:工具方法很好用,解决了IO问题优先,应用场景不宽