HuTool工具的介绍与使用

Java工具类库HuTool,包括其核心模块和各类工具类,如数组、字符串操作、反射、文件处理等,并提供了实际使用示例。通过引入HuTool,开发者可以提高开发效率,减少自定义封装的工作。

相关连接:

介绍

Hutool 是一个小而全的 Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,涵盖了Java开发开发中的方方面面

使用 Hutool 可节省开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug

该工具类主要对 文件、流、加密解密、转码、正则、线程、XML等 JDK方法进行封装,组成各种Util工具类,同时提供以下组件:

模块

介绍

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

扩展模块,对第三方封装(模板引擎、邮件、Servlet、二维码、Emoji、FTP、分词等)

hutool-http

基于HttpUrlConnection的Http客户端封装

hutool-log

自动识别日志实现的日志门面

hutool-script

脚本执行封装,例如Javascript

hutool-setting

功能更强大的Setting配置文件和Properties封装

hutool-system

系统参数调用封装(JVM信息等)

hutool-json

JSON实现

hutool-captcha

图片验证码实现

hutool-poi

针对POI中Excel和Word的封装

hutool-socket

基于Java的NIO和AIO的Socket封装

hutool-jwt

JSON Web Token (JWT)封装实现

可根据需求对每个模块 单独引入,也可以通过引入hutool-all方式引入所有模块

使用HuTool工具

导入包

使用首先导包,在项目的 pom.xml 中加入以下内容:【Hutool 5.x 支持 JDK8+,JDK7 使用 Hutool 4.x版本】Maven中央库

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.0</version>
</dependency>

若使用jar包,可去该 下载jar 网址下载hutool-all-X.X.X.jar即可

使用

HuTool 这个工具类提供了非常多的东西,看了下源码,基本上很全,下面对其提供了工具类根据自己的理解分了小类别,每个类别写一个小博客简单介绍一下实现的功能,下面一部分的说明来自官方文档,一部分来自看的源码,这里的源码版本为对应 5.8.0

基本类型 / 数组 / 数据类型转换工具类

该类别主要有关于对数组操作、一些基本类型的操作、进制转换 等相关功能进行了封装

  • ArrayUtil:数组工具类

  • BooleanUtil :Boolean 类型相关工具类

  • ByteUtil:Byte 类型相关工具类

  • CharUtil:字符工具类

  • StrUtil:字符串工具类

  • NumberUtil:数字工具类

  • EnumUtil:枚举工具类

  • CharsetUtil:字符集工具类

  • HexUtil:十六进制工具类

  • RadixUtil:进制转换工具类

  • PrimitiveArrayUtil:原始类型数组工具类

关联链接:HuTool工具使用基本类型 / 数组 / 类型转换 工具类

Class 与 ClassLoader 相关的判断、加载工具类

该类别主要对 对象、类、类加载、类的类型判断、反射 等相关功能进行了封装

  • ClassLoaderUtil:ClassLoader 工具类

  • ClassUtil:类工具类

  • ObjectUtil:对象工具类

  • TypeUtil:针对Type的工具类封装

  • ReflectUtil:反射工具类

  • ReferenceUtil: 引用工具类

  • JAXBUtil:JAXB(Java Architecture for XML Binding),根据XML Schema产生Java对象

  • SerializeUtil:类序列化工具类

  • ModifierUtil:类修饰符工具类

  • ServiceLoaderUtil:SPI机制中的服务加载工具类

关联链接:HuTool工具使用类加载 / 反射 / 对象操作等工具类

常用功能封装工具类

在项目开发过程中,会涉及到一些信息的有效性验证,例如电话号码身份证号社会信用代码,对身份敏感的数据需要脱敏等,下面的工具类就是我们常用的一些工具类的封装

  • PhoneUtil:电话号码工具类

  • IdcardUtil:身份证相关工具类

  • IdUtil:ID生成器工具类

  • RandomUtil:随机工具类

  • ReUtil:正则相关工具类

  • ZipUtil:压缩工具类

  • CreditCodeUtil:统一社会信用代码(GB32100-2015)工具类

  • CoordinateUtil:坐标系转换相关工具类

  • DesensitizedUtil:脱敏工具类

关联链接:HuTool工具使用PhoneUtil、IdUtil、ReUtil等常用工具类

文件 / 路径 / 系统相关工具类

包括像文件中内容转义、XML文件处理、URL处理、系统属性相关工具类

  • EscapeUtil:转义和反转义工具类

  • XmlUtil:XML工具类

  • HashUtil:Hash算法工具类

  • SystemPropsUtil:系统属性工具

  • URLUtil:URL统一资源定位符相关工具类

  • PageUtil:分页工具类

  • RuntimeUtil:系统运行时工具类

关联链接:HuTool工具使用 转义、系统的属性工具等 工具类

Comment