Hutool快速入门
# Hutool快速入门
# 1. 📚简介
Hutool 是一个轻量级且功能齐全的 Java 工具类库,通过对常用功能进行封装,大大简化了 Java 开发中的很多繁琐操作,提高了开发效率。Hutool 的设计理念是“甜甜的 Java”,让 Java 代码像函数式语言一样优雅。
# 🎁 Hutool名称的由来
Hutool = Hu + tool
- Hu:源自公司名称中的一部分。
- tool:表示工具,谐音“糊涂”,寓意“难得糊涂”。
Hutool 起源于公司项目的底层代码,后被剥离出来开源。
# 🍺 Hutool如何改变我们的编码方式
Hutool 旨在通过简单的工具方法替代冗长复杂的代码,从而减少代码重复,提高开发效率。例如:
- 以前:需要计算 MD5 时,可能需要先查找相关代码片段,然后进行复制、粘贴、修改。
- 现在:只需引入 Hutool,使用
SecureUtil.md5()
即可完成 MD5 计算。
Hutool 的存在减少了代码搜索的成本,同时避免了因为使用不可靠代码片段而导致的 bug。
# 2. 🛠️ 包含组件
Hutool 提供了丰富的工具模块,涵盖了 Java 开发中的各个方面。以下是一些主要模块及其功能简介:
模块 | 介绍 |
---|---|
hutool-aop | JDK 动态代理封装,提供非 IOC 环境下的切面支持 |
hutool-bloomFilter | 布隆过滤器,提供多种 Hash 算法的布隆过滤实现 |
hutool-cache | 简单的缓存实现 |
hutool-core | 核心工具类,包括 Bean 操作、日期处理、各种 Util 工具方法等 |
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 | 更加强大的配置文件和 Properties 封装 |
hutool-system | 系统参数调用封装(如 JVM 信息等) |
hutool-json | JSON 解析与生成实现 |
hutool-captcha | 图片验证码生成工具 |
hutool-poi | 对 Apache POI 中 Excel 和 Word 操作的封装 |
hutool-socket | 基于 Java NIO 和 AIO 的 Socket 通信封装 |
hutool-jwt | JSON Web Token (JWT) 的封装实现 |
# 3. 引入 Hutool
# 1. 快速引入
要快速开始使用 Hutool,最简单的方式是引入 hutool-all
模块。这个模块包含了所有的工具类和功能,适合对 Hutool 不是特别了解的用户。
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.26</version>
</dependency>
2
3
4
5
# 2. 单独引入模块
如果你只需要使用 Hutool 中的部分功能,可以单独引入对应的模块。例如,只需要使用 Hutool 的 HTTP 功能:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-http</artifactId>
<version>5.8.26</version>
</dependency>
2
3
4
5
# 3. 使用 hutool-bom 模块进行模块管理
Hutool 还提供了一个 hutool-bom
模块,用于统一管理各个模块的版本号。你可以在项目的 pom.xml
中引入 hutool-bom
,并使用它来选择性地引入各个模块:
# 父模块中引入 hutool-bom
:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-bom</artifactId>
<version>${hutool.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2
3
4
5
6
7
8
9
10
11
# 子模块中引入所需的具体模块:
<dependencies>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-http</artifactId>
</dependency>
</dependencies>
2
3
4
5
6
注意:
import
方式只会引入hutool-bom
内的dependencyManagement
配置,不会引入实际的依赖。
# 4. 使用 exclude
排除不需要的模块
如果你引入了 hutool-bom
,但某些模块不需要,可以使用 exclude
来排除这些模块:
<dependencies>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-bom</artifactId>
<version>${hutool.version}</version>
<type>pom</type>
<exclusions>
<exclusion>
<groupId>cn.hutool</groupId>
<artifactId>hutool-system</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
2
3
4
5
6
7
8
9
10
11
12
13
14
# 4. 📦 安装
# 🍊 使用 Maven
在项目的 pom.xml
中添加以下依赖:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.26</version>
</dependency>
2
3
4
5
# 🍐 使用 Gradle
在 build.gradle
中添加以下依赖:
implementation 'cn.hutool:hutool-all:5.8.26'
# 📥 下载 jar 包
你也可以直接下载 hutool-all-X.X.X.jar
文件,并手动添加到项目中:
注意: Hutool 5.x 版本支持 JDK8+,如果你使用的是 JDK7,请使用 Hutool 4.x 版本。
# 🚽 编译安装
如果你想自己编译 Hutool,可以访问 Hutool 的 Gitee 主页 (opens new window),下载项目源码(v5-master 或 v5-dev 分支都可),然后进入项目目录执行以下命令:
./hutool.sh install
之后你就可以在项目中使用 Hutool 了。