主题
常用工具类使用指南
依赖检查
使用前确认项目已引入 digitalhainan-tools 依赖:
xml
<dependency>
<groupId>cn.com.digitalhainan</groupId>
<artifactId>digitalhainan-tools</artifactId>
<version>${digitalhainan.version}</version>
</dependency>工具类索引
| 工具类 | 路径 | 功能 | 参考文档 |
|---|---|---|---|
| DateUtils | cn.com.digitalhainan.tools.DateUtils | 日期时间处理(格式化、解析、加减、比较) | date-utils.md |
| JacksonMapper | cn.com.digitalhainan.tools.jackson.JacksonMapper | JSON 序列化/反序列化 | jackson-utils.md |
| UUIDUtils | cn.com.digitalhainan.tools.UUIDUtils | UUID 生成 | uuid-utils.md |
| RandomUtils | cn.com.digitalhainan.tools.RandomUtils | 随机数生成 | random-utils.md |
| IPUtils | cn.com.digitalhainan.tools.IPUtils | IP 地址处理 | ip-utils.md |
| ReflectionUtil | cn.com.digitalhainan.tools.ReflectionUtil | 反射工具 | reflection-utils.md |
场景选择速查
| 场景 | 推荐工具类 |
|---|---|
| 日期格式化/解析/加减/比较 | DateUtils |
| JSON 对象转字符串 / 字符串转对象 | JacksonMapper |
| 生成唯一标识符 | UUIDUtils |
| 生成随机数/随机字符串 | RandomUtils |
| 获取客户端 IP / IP 地址校验 | IPUtils |
| 动态调用方法 / 获取字段值 | ReflectionUtil |
JSON 处理规范
项目中统一使用 JacksonMapper 处理 JSON,不直接使用 fastjson。
正例:
java
import cn.com.digitalhainan.tools.jackson.JacksonMapper;
String jsonStr = JacksonMapper.toJsonString(obj);
UserDTO dto = JacksonMapper.parseObject(jsonStr, UserDTO.class);反例:
java
// 不建议使用 fastjson
String jsonStr = JSON.toJSONString(obj);
UserDTO dto = JSON.parseObject(jsonStr, UserDTO.class);日期处理速查
java
import cn.com.digitalhainan.tools.DateUtils;
// 获取当前时间字符串
String now = DateUtils.getCurrentDatetime();
// 格式化日期
String formatted = DateUtils.formatDate(date, "yyyy-MM-dd HH:mm:ss");
// 解析日期
Date date = DateUtils.parseDate("2024-01-15", "yyyy-MM-dd");
// 日期加减
Date tomorrow = DateUtils.addDays(new Date(), 1);Do's and Don'ts
| Do(推荐做法) | Don't(避免做法) |
|---|---|
JSON 处理统一使用 JacksonMapper | 使用 fastjson 处理 JSON |
日期格式化使用 DateUtils 内置方法 | 手写 SimpleDateFormat(线程安全问题) |
| 跨时区应用注意时区设置 | 忽略时区差异 |
UUID 使用 UUIDUtils 生成 | 手写 UUID 生成逻辑 |
参考文档
| 文档 | 内容 |
|---|---|
| date-utils.md | 日期时间处理完整示例 |
| jackson-utils.md | JSON 序列化/反序列化完整示例 |
| uuid-utils.md | UUID 生成示例 |
| random-utils.md | 随机数生成示例 |
| ip-utils.md | IP 地址处理示例 |
| reflection-utils.md | 反射工具示例 |
