Hutool 是项目里的通用工具库,目前最典型的使用点是 Web 日志切面中的 JSON 序列化。它减少手写工具方法,但也要控制边界,避免业务代码逐渐依赖一个大杂烩。
一、用于日志对象格式化
import cn.hutool.json.JSONUtil;
日志切面需要把入参和返回值转成可读 JSON。Hutool 提供轻量直接的 API,同时项目会跳过 Request、Response、文件上传这类不适合完整序列化的对象。
二、工具库的价值在“少写代码”
这类代码不属于业务核心竞争力:日期格式、字符串判断、JSON 转换、简单校验。交给稳定工具库,可以让业务代码更关注规则本身。
三、边界同样重要
项目没有把 Hutool 当成所有问题的默认答案。核心架构能力仍交给专门组件:
- JSON API 契约使用 Jackson。
- 数据访问使用 MyBatis-Plus。
- 对象映射使用 MapStruct。
- 邮件使用 Spring Boot Mail。
四、避坑点
- 日志序列化要防止对象过大和敏感信息泄漏。
- 工具库 API 稳定性不等同于语义完全一致,升级要看变更说明。
- 同一件事不要在项目里保留多套工具写法。
- 工具库依赖应集中在需要的模块,不盲目全量传递。
五、经验总结
Hutool 适合处理小而确定的通用问题。它让项目少写重复工具代码,但架构能力仍然要交给更专业的组件。