Hutool 是一个功能丰富且轻量级的 Java 工具库,旨在简化 Java 开发中的常见操作,提供高效且易用的 API。它的核心理念是「减少代码搜索成本,避免重复造轮子」,尤其适合快速开发和小型项目。
主要功能模块
-
工具类(Utils)
-
提供字符串处理、日期时间操作(
DateUtil)、加密解密(SecureUtil)、文件IO(FileUtil)、集合操作(CollUtil)等常用工具。 -
示例:
// 日期格式化 String dateStr = "2023-10-01"; DateTime date = DateUtil.parse(dateStr);
-
-
HTTP客户端(HttpUtil)
-
简化 HTTP 请求(GET/POST)和文件下载,无需依赖其他 HTTP 库。
String response = HttpUtil.get("https://example.com");
-
-
类型转换(Convert)
-
自动处理类型转换(如字符串转数字、日期、集合等)。
int num = Convert.toInt("123");
-
-
配置文件(Setting)
-
支持 Properties、JSON、XML 等格式的配置读取。
Setting config = new Setting("config.setting"); String value = config.getStr("key");
-
-
日志(Log)
- 静态日志工厂,兼容主流日志框架(Log4j、SLF4J 等)。
Log.info("This is a log message.");
- 静态日志工厂,兼容主流日志框架(Log4j、SLF4J 等)。
-
缓存(Cache)
-
提供简单缓存实现(LRU、定时过期等)。
Cache<String, String> cache = CacheUtil.newLRUCache(100); cache.put("key", "value");
-
-
扩展模块
- 支持 Excel 操作(
ExcelUtil)、邮件发送(MailUtil)、二维码生成(QrCodeUtil)等。
- 支持 Excel 操作(
核心优势
- 减少依赖:整合常用功能,避免引入多个第三方库。
- 简洁 API:方法命名直观(如
StrUtil.isEmpty()),学习成本低。 - 高性能:代码优化,避免不必要的开销。
- 中文文档:完善的文档和示例(官网),对中文开发者友好。
快速入门
-
Maven 依赖
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.20</version> </dependency>运行 HTML
-
示例代码
// 生成 UUID String uuid = IdUtil.simpleUUID(); // 计算 MD5 String md5 = SecureUtil.md5("hello"); // 读取文件内容 String content = FileUtil.readUtf8String("test.txt");
适用场景
- 快速开发工具类功能(如日期格式化、加密)。
- 小型项目避免引入过多依赖。
- 需要简化 HTTP 请求、文件操作等常见任务。
Hutool 通过封装 Java 开发中的繁琐操作,显著提升了编码效率,尤其适合追求简洁和高效的开发者。