Hutool框架基本概念
Hutool介绍
- Hutool是一个Java工具包:
- 工具包代表了程序员的积累
- Hutool只是收集了程序员的积累
- Hutool几乎涵盖了工作中大部分业务的工具
- Hutool是程序员学习中知识的记录,是填坑的结果
Hutool中的各个模块
hutool-aop
- JDK动态代理封装,提供非IOC下的切面支持
- 关联Spring
hutool-bloomFilter
- 布隆过滤,提供Hash算法的布隆过滤
hutool-cache
- 简单缓存实现
- 关联Guava的Cache模块 ,Jodd的Cache模块
hutool-core
- Hutool核心工具包,包括Bean操作,日期以及各种Util等
- 关联Apache-Commons-Lang等
hutool-cron
- 定时任务模块,提供类Crontab表达式的定时任务
- 关联Quartz,Cron4j
hutool-crypto
- 加密解密模块,提供对称,非对称和摘要算法封装
- 关联BouncyCastle
hutool-db
- JDBC封装后的数据操作,基于ActiveRecord思想
- 关联DbUtils,Jfinal的db部分 ,Nutz的dao,JOOQ,MyBatis
hutool-dfa
- 基于DFA模型的多关键字查找
hutool-extra
- 扩展模块,对第三方封装:
- 模板引擎
- 邮件
- Servlet
- 二维码
- Emoji
- FTP
- 分词
- 关联JavaMail, Zxing, Emoji4j,Commons-net等
hutool-http
- 基于HttpUrlConnection的Http客户端封装
- 关联OKHttp,HttpClient,Jodd的http模块
hutool-log
- 自动识别日志实现的日志门面
- 关联slf4j
hutool-script
- 脚本执行封转
hutool-setting
- 功能更强大的Setting配置文件和Properties封装
hutool-system
- 系统参数调用封装.比如JVM相关信息
hutool-json
- JSON实现
- 关联FastJson,JackJson,json-lib
hutool-captcha
- 图片验证码实现
- 关联Jcaptcha
hutool-poi
- 针对POI中Excel封装
- 关联POI,Easy-POI
hutool-socket
- 基于Java的NIO和AIO的Socket封装
- 关联t-io,Smart-socket,Netty等
框架和工具的区别
- 框架:
- 解决大问题
- 解决特定业务问题
- 解决协作问题
- 工具:
- 解决小问题
- 解决细节问题
- 解决个体问题
- 框架决定项目的成败,工具决定效率的高低
Hutool工具设计原则
- 方法优于对象: 大多是static方法
- 自动识别优于用户定义: 能少传参数就少传参数
- 便捷性与灵活性并存: 有默认参数,也有自定义参数
- 适配与兼容: 与框架兼容,将学习成本降到最低
- 可选依赖原则: 不引入任何依赖,需要时用户自己引入
- 无侵入原则: 没有注解,和项目不存在关联