Package | Description |
---|---|
org.dromara.hutool |
Hutool是一个功能丰富且易用的Java工具库,通过诸多实用工具类的使用,旨在帮助开发者快速、便捷地完成各类开发任务。
|
org.dromara.hutool.core |
Hutool核心方法及数据结构包
|
org.dromara.hutool.core.annotation |
注解包,提供增强型注解和注解工具类,处理包括:
注解元素(AnnotatedElement)上的注解。 |
org.dromara.hutool.core.annotation.elements |
AnnotatedElement对象实现
|
org.dromara.hutool.core.array |
提供数组相关封装
|
org.dromara.hutool.core.bean |
Bean相关操作,包括Bean信息描述,Bean路径表达式、动态Bean、Bean工具等
|
org.dromara.hutool.core.bean.copier |
Bean拷贝实现,包括拷贝选项等
|
org.dromara.hutool.core.bean.copier.provider |
Bean值提供者方式封装
|
org.dromara.hutool.core.bean.path |
Bean路径,通过路径表达式查找或设置对象或子对象中的值
|
org.dromara.hutool.core.bean.path.node |
Bean路径节点
|
org.dromara.hutool.core.cache |
提供简易的缓存实现,此模块参考了jodd工具中的Cache模块
|
org.dromara.hutool.core.cache.file |
提供针对文件的缓存实现
|
org.dromara.hutool.core.cache.impl |
提供各种缓存实现
|
org.dromara.hutool.core.classloader |
类加载相关封装和工具
|
org.dromara.hutool.core.codec |
编码解码封装编码封装
|
org.dromara.hutool.core.codec.binary |
BaseN编码解码,提供将bytes和baseN的编码转换功能。
|
org.dromara.hutool.core.codec.hash |
提供Hash算法的封装
|
org.dromara.hutool.core.codec.hash.metro |
MetroHash算法实现
参考:https://github.com/postamar/java-metrohash |
org.dromara.hutool.core.collection |
集合以及Iterator封装,包括集合工具CollUtil,Iterator和Iterable工具IterUtil
|
org.dromara.hutool.core.collection.iter | |
org.dromara.hutool.core.collection.partition |
列表分区或分段
|
org.dromara.hutool.core.collection.queue |
队列
Queue 相关封装 |
org.dromara.hutool.core.collection.set |
Set 相关封装 |
org.dromara.hutool.core.comparator |
各种比较器(Comparator)实现和封装
|
org.dromara.hutool.core.compress |
压缩解压封装
|
org.dromara.hutool.core.convert |
万能类型转换器以及各种类型转换的实现类,其中Convert为转换器入口,提供各种toXXX方法和convert方法
转换器是典型的策略模式应用,可自定义转换策略。 |
org.dromara.hutool.core.convert.impl |
各种类型转换的实现类,其都为Converter接口的实现,用于将未知的Object类型转换为指定类型
|
org.dromara.hutool.core.convert.impl.stringer |
针对对象转换为String的封装
|
org.dromara.hutool.core.data |
数据相关封装和工具类
在Hutool中,“数据”是指社会属性的内容 如ID、电话、统一社会信用代码、密码、坐标系、数据脱敏等。 |
org.dromara.hutool.core.data.id |
提供各种ID生成
|
org.dromara.hutool.core.data.masking |
数据脱敏,提供各种数据类型(字符串、数字等)的脱敏方法。
|
org.dromara.hutool.core.date |
日期封装,日期的核心为DateTime类,DateUtil提供日期操作的入口
|
org.dromara.hutool.core.date.chinese | |
org.dromara.hutool.core.date.format.parser |
提供日期解析相关封装,主要包括:
DateParser
/ | \
FastDateParser RegisterDateParser RegexDateParser
(根据日期格式解析) (根据注册的模式匹配解析) (通过预定义正则解析)
|
org.dromara.hutool.core.exception |
特殊异常封装,同时提供异常工具ExceptionUtil
|
org.dromara.hutool.core.func |
函数封装
接口灵感来自于ActFramework 一个函数接口代表一个一个函数,用于包装一个函数为对象 在JDK8之前,Java的函数并不能作为参数传递,也不能作为返回值存在,此接口用于将一个函数包装成为一个对象,从而传递对象 |
org.dromara.hutool.core.io |
IO相关封装和工具类,包括Inputstream和OutputStream实现类,工具包括流工具IoUtil、文件工具FileUtil和Buffer工具BufferUtil
|
org.dromara.hutool.core.io.buffer |
Buffer 相关工具封装 |
org.dromara.hutool.core.io.checksum |
IO校验相关库和工具
|
org.dromara.hutool.core.io.checksum.crc16 |
CRC16相关算法封装为Checksum
|
org.dromara.hutool.core.io.copy |
IO流拷贝相关封装相关封装
|
org.dromara.hutool.core.io.file |
对文件读写的封装,包括文件拷贝、文件读取、文件写出、行处理等
|
org.dromara.hutool.core.io.file.visitor |
FileVisitor功能性实现,包括递归删除、拷贝等
|
org.dromara.hutool.core.io.resource |
针对ClassPath和文件中资源读取的封装,主要入口为工具类ResourceUtil
|
org.dromara.hutool.core.io.stream |
InputStream和OutputStream相关方法和类封装
|
org.dromara.hutool.core.io.unit |
数据单位相关封装,包括DataUnit数据单位和DataSize数据大小
|
org.dromara.hutool.core.io.watch |
基于JDK7+ WatchService的文件和目录监听封装,支持多级目录
|
org.dromara.hutool.core.io.watch.watchers |
文件监听中的观察者实现类,包括延迟处理、处理链等
|
org.dromara.hutool.core.lang |
语言特性包,包括大量便捷的数据结构,包括:
ANSI:ANSI编码
Builder:构建器
Caller:查找调用者
Copier:拷贝(复制)
Generator:生成器
Getter:getXXX抽象
Intern:规范化表示形式
Loader:加载器的抽象
Mutable:可变值对象封装
Range:区间和边界封装
Tuple:元组
|
org.dromara.hutool.core.lang.ansi |
命令行终端中ANSI 转义序列相关封装,如ANSI颜色等
|
org.dromara.hutool.core.lang.builder |
建造者工具
用于建造特定对象或结果,建造者模式的抽象。 |
org.dromara.hutool.core.lang.caller |
调用者接口及实现。
|
org.dromara.hutool.core.lang.copier |
拷贝抽象实现,通过抽象拷贝,可以实现文件、流、Buffer之间的拷贝实现
|
org.dromara.hutool.core.lang.event |
发布订阅模式封装,发布/订阅是一种消息范式
消息的发送者(EventPublisher)将事件或消息(Event)广播出去,订阅者(Subscriber)接收到消息后处理。 |
org.dromara.hutool.core.lang.generator |
提供生成器接口及相关封装
|
org.dromara.hutool.core.lang.getter |
getXXX方法的接口和抽象实现
|
org.dromara.hutool.core.lang.intern |
规范化表示形式封装
所谓规范化,即当两个对象equals时,规范化的对象则可以实现== 此包中的相关封装类似于 String#intern() |
org.dromara.hutool.core.lang.loader |
加载器的抽象接口和实现,包括懒加载的实现等
|
org.dromara.hutool.core.lang.mutable |
提供可变值对象的封装,用于封装int、long等不可变值,使其可变
|
org.dromara.hutool.core.lang.page |
提供分页信息封装,主要包括:
PageInfo : 提供分页信息。 |
org.dromara.hutool.core.lang.range |
提供区间和边界封装,主要包括:
Bound : 提供边界的抽象表示,包括边界范围、开闭区间等。 |
org.dromara.hutool.core.lang.ref |
引用工具封装,主要针对
Reference 工具化封装主要封装包括: 1. |
org.dromara.hutool.core.lang.selector | |
org.dromara.hutool.core.lang.tuple | |
org.dromara.hutool.core.lang.wrapper |
提供包装对象的抽象
通过包装接口,实现装饰模式或代理模式,以增强或目标对象功能。 |
org.dromara.hutool.core.map |
Map相关封装,提供特殊Map实现以及Map工具MapUtil
|
org.dromara.hutool.core.map.concurrent |
并发Map工具类
|
org.dromara.hutool.core.map.multi |
多参数类型的Map实现,包括集合类型值的MultiValueMap和Table
MultiValueMap:一个键对应多个值的集合的实现,类似于树的结构。 |
org.dromara.hutool.core.map.reference |
弱引用Map实现
|
org.dromara.hutool.core.math |
提供数学计算相关封装,包括排列组合等,入口为MathUtil
|
org.dromara.hutool.core.net |
网络相关工具
|
org.dromara.hutool.core.net.ssl |
SSL相关封装
|
org.dromara.hutool.core.net.url |
URL相关工具
|
org.dromara.hutool.core.pool |
对象池封装实现
整体参考了: https://github.com/DanielYWoo/fast-object-pool/ https://github.com/apache/commons-pool |
org.dromara.hutool.core.pool.partition |
基于分区的对象池实现,参考:https://github.com/DanielYWoo/fast-object-pool
|
org.dromara.hutool.core.reflect |
提供反射相关功能对象和类
|
org.dromara.hutool.core.reflect.creator |
对象实例化器,对象创建器
|
org.dromara.hutool.core.reflect.kotlin |
Kotlin反射相关封装,需引入:
kotlin-stdlib
kotlin-reflect
|
org.dromara.hutool.core.reflect.lookup |
MethodHandles.Lookup 创建封装,以根据不同的条件查找MethodHandles jdk8中如果直接调用 MethodHandles.lookup() 获取到的MethodHandles.Lookup 在调用findSpecial和unreflectSpecial
时会出现权限不够问题,抛出"no private access for invokespecial"异常,因此针对JDK8及JDK9+分别封装lookup方法。 |
org.dromara.hutool.core.reflect.method |
提供方法相关封装
|
org.dromara.hutool.core.regex |
正则表达式相关封装
|
org.dromara.hutool.core.spi |
服务提供接口SPI(Service Provider interface)机制相关封装,包括:
ListServiceLoader ,提供列表形式的服务定义
MapServiceLoader ,提供键值对形式的服务定义
|
org.dromara.hutool.core.stream |
Java8的stream相关封装
|
org.dromara.hutool.core.stream.spliterators |
spliterator实现
|
org.dromara.hutool.core.text |
提供文本相关操作的封装,还包括Unicode工具UnicodeUtil
|
org.dromara.hutool.core.text.bloom |
布隆过滤,提供一些Hash算法的布隆过滤
|
org.dromara.hutool.core.text.dfa |
DFA全称为:Deterministic Finite Automaton,即确定有穷自动机。
|
org.dromara.hutool.core.text.escape |
提供各种转义和反转义实现
|
org.dromara.hutool.core.text.finder |
文本查找实现,包括:
查找文本中的字符(正向、反向)
查找文本中的匹配字符(正向、反向)
查找文本中的字符串(正向、反向)
查找文本中匹配正则的字符串(正向)
|
org.dromara.hutool.core.text.placeholder |
字符串占位符相关封装,包括占位符替换变量和解析变量
|
org.dromara.hutool.core.text.placeholder.segment |
占位符节点
|
org.dromara.hutool.core.text.placeholder.template |
字符串模板
|
org.dromara.hutool.core.text.replacer |
文本替换类抽象及实现
|
org.dromara.hutool.core.text.split |
字符串切分封装和工具类
|
org.dromara.hutool.core.thread |
提供线程及高并发封装,入口为ThreadUtil
|
org.dromara.hutool.core.thread.lock |
锁的实现
|
org.dromara.hutool.core.thread.ratelimiter |
限流器实现,几种策略包括:
令牌桶(Token Bucket)
漏桶(Leaky Bucket)
固定窗口(Fixed Window)
滑动窗口(Sliding Window)
概念见:https://www.explainthis.io/zh-hans/swe/rate-limiter
|
org.dromara.hutool.core.thread.threadlocal |
ThreadLocal相关封装
|
org.dromara.hutool.core.tree |
提供通用树生成,特点:
1、每个字段可自定义
2、支持排序 树深度配置,自定义转换器等 3、支持额外属性扩展 4、贴心 许多属性,特性都有默认值处理 5、使用简单 可一行代码生成树 6、代码简洁轻量无额外依赖 |
org.dromara.hutool.core.tree.parser |
节点解析器封装
|
org.dromara.hutool.core.util |
提供各种工具方法,按照归类入口为XXXUtil,如字符串工具StrUtil等
|
org.dromara.hutool.core.xml |
XML相关工具封装
|
org.dromara.hutool.cron |
定时任务模块,提供类Crontab表达式的定时任务,实现参考了Cron4j,同时可以支持秒级别的定时任务定义和年的定义(同时兼容Crontab、Cron4j、Quartz表达式)
定时任务模块由三部分组成: Scheduler 定时任务调度器,用于整体管理任务的增删、启停和触发运行。 |
org.dromara.hutool.cron.listener |
定时任务执行监听接口及部分实现
|
org.dromara.hutool.cron.pattern |
定时任务表达式解析,核心为CronPattern
|
org.dromara.hutool.cron.pattern.builder |
模式构建器
|
org.dromara.hutool.cron.pattern.matcher |
定时任务表达式匹配器,内部使用
单一表达式使用 PatternMatcher 表示PatternMatcher 由7个PartMatcher 组成,
分别表示定时任务表达式中的7个位置:
0 1 2 3 4 5 6
SECOND MINUTE HOUR DAY_OF_MONTH MONTH DAY_OF_WEEK YEAR
|
org.dromara.hutool.cron.pattern.parser |
定时任务表达式解析器,内部使用
|
org.dromara.hutool.cron.task | |
org.dromara.hutool.cron.timingwheel |
时间轮实现,重写了kafka的TimingWheel
时间轮一般会实现成一个环形结构,类似一个时钟,分为很多槽,一个槽代表一个时间间隔,每个槽使用双向链表存储定时任务。 |
org.dromara.hutool.crypto |
加密解密模块,实现了对JDK中加密解密算法的封装,入口为SecureUtil,实现了:
1.
|
org.dromara.hutool.crypto.asymmetric |
非对称加密的实现,包括RSA等
|
org.dromara.hutool.crypto.asymmetric.paillier |
同态加密算法 Paillier
|
org.dromara.hutool.crypto.bc |
BouncyCastle库相关工具封装
|
org.dromara.hutool.crypto.cert |
证书相关工具类
|
org.dromara.hutool.crypto.digest |
摘要加密算法实现,入口为DigestUtil
|
org.dromara.hutool.crypto.digest.mac |
MAC,全称为“Message Authentication Code”,中文名“消息鉴别码”。
|
org.dromara.hutool.crypto.digest.otp |
OTP 是 One-Time Password的简写,表示一次性密码。
|
org.dromara.hutool.crypto.openssl |
OpenSSL相关封装
|
org.dromara.hutool.crypto.provider |
Provider 相关封装,通过SPI机制,提供灵活的Provider注入。 |
org.dromara.hutool.crypto.sasl |
解简单认证和安全层(SASL)封装,一般用于保证通信安全
|
org.dromara.hutool.crypto.symmetric |
对称加密算法实现,包括AES、DES、DESede等
|
org.dromara.hutool.db |
Hutool-db是一个在JDBC基础上封装的数据库操作工具类,通过包装,使用ActiveRecord思想操作数据库。
|
org.dromara.hutool.db.config |
数据库配置,通过统一的配置文件,提供灵活的配置来源,包括但不限于:
setting配置文件
XML配置文件
网络配置
自定义Bean
|
org.dromara.hutool.db.dialect |
数据库方言封装,包括数据库方言以及方言自动识别等
|
org.dromara.hutool.db.dialect.impl |
数据库方言实现,包括MySQL、Oracle、PostgreSQL、Sqlite3、H2、SqlServer2012等
|
org.dromara.hutool.db.driver |
驱动和驱动类名称相关封装
|
org.dromara.hutool.db.driver.matcher |
驱动匹配器封装及基本实现
|
org.dromara.hutool.db.ds |
数据源封装,对各类数据库连接池的封装
数据库连接池使用工厂方法模式,当有新增连接池时,实现 DSFactory 即可。 |
org.dromara.hutool.db.ds.bee |
BeeCP封装
见:https://github.com/Chris2018998/BeeCP
|
org.dromara.hutool.db.ds.c3p0 |
C3P0封装
|
org.dromara.hutool.db.ds.dbcp |
DBCP封装
|
org.dromara.hutool.db.ds.druid |
Druid封装
|
org.dromara.hutool.db.ds.hikari |
Hikari封装
|
org.dromara.hutool.db.ds.jndi |
JNDI封装
|
org.dromara.hutool.db.ds.pooled |
Hutool对连接池的简单实现
|
org.dromara.hutool.db.ds.simple |
JDBC中DriverManager简易封装
|
org.dromara.hutool.db.ds.tomcat |
Tomcat-Pool封装
|
org.dromara.hutool.db.handler |
JDBC结果集(ResultSet)转换封装,通过实现RsHandler接口,将ResultSet转换为我们想要的数据类型
|
org.dromara.hutool.db.handler.row |
结果集中一行的处理
|
org.dromara.hutool.db.meta |
JDBC数据表元数据信息封装,包括表结构、列信息的封装,入口为MetaUtil
|
org.dromara.hutool.db.sql |
SQL语句和Statement构建封装
|
org.dromara.hutool.db.sql.filter |
提供SQL过滤器封装
|
org.dromara.hutool.db.transaction |
事务相关类和操作
|
org.dromara.hutool.extra |
由于Hutool的原则是不依赖于其它配置文件,但是很多时候我们需要针对第三方非常棒的库做一些工具类化的支持
因此Hutoo-extra包主要用于支持第三方库的工具类支持。 |
org.dromara.hutool.extra.aop |
JDK动态代理封装,提供非IOC下的切面支持,封装包括:
基于
Proxy 代理
基于Spring-cglib代理
考虑到cglib库不再更新且对JDK9+兼容性问题,不再封装
createEngine proxy
ProxyEngineFactory =》 ProxyEngine =》 Proxy
|
org.dromara.hutool.extra.aop.aspects |
切面实现,提供一些基本的切面实现
|
org.dromara.hutool.extra.aop.engine |
切面实现引擎
|
org.dromara.hutool.extra.aop.engine.jdk |
JDK方式切面实现,基于
Proxy 封装 |
org.dromara.hutool.extra.aop.engine.spring |
Spring-cglib切面实现
|
org.dromara.hutool.extra.compress |
基于commons-compress的压缩解压封装
支持包括:gzip, bzip2, xz, lzma, Pack200, DEFLATE, Brotli, DEFLATE64, ZStandard and Z, the archiver formats are 7z, ar, arj, cpio, dump, tar and zip等格式。 |
org.dromara.hutool.extra.compress.archiver |
基于commons-compress的打包(压缩)封装
见:https://commons.apache.org/proper/commons-compress/
|
org.dromara.hutool.extra.compress.extractor |
基于commons-compress的解包(解压缩)封装
见:https://commons.apache.org/proper/commons-compress/
|
org.dromara.hutool.extra.emoji |
基于https://github.com/vdurmont/emoji-java的Emoji表情工具类
|
org.dromara.hutool.extra.ftp |
基于Apache Commons Net封装的FTP工具
|
org.dromara.hutool.extra.mail |
邮件封装,基于jakarta.mail库,入口为MailUtil
|
org.dromara.hutool.extra.management |
Management模块主要获取系统、JVM、内存、CPU等信息,以便动态监测系统状态
|
org.dromara.hutool.extra.management.oshi |
Oshi库封装
https://github.com/oshi/oshi |
org.dromara.hutool.extra.pinyin |
拼音相关封装
createEngine getPinyin
PinyinEngineFactory =》 PinyinEngine =》 拼音
|
org.dromara.hutool.extra.pinyin.engine |
拼音具体实现
|
org.dromara.hutool.extra.pinyin.engine.bopomofo4j |
封装了Bopomofo4j的引擎。
|
org.dromara.hutool.extra.pinyin.engine.houbb |
封装了 Pinyin 的引擎。
|
org.dromara.hutool.extra.pinyin.engine.jpinyin |
封装了Jpinyin的引擎。
|
org.dromara.hutool.extra.pinyin.engine.pinyin4j |
封装了Pinyin4j的引擎。
|
org.dromara.hutool.extra.pinyin.engine.tinypinyin |
封装了TinyPinyin的引擎。
|
org.dromara.hutool.extra.qrcode |
二维码封装,基于zxing库,入口为QrCodeUtil
|
org.dromara.hutool.extra.spring |
Spring相关工具封装
|
org.dromara.hutool.extra.spring.cglib |
Spring cglib相关工具封装
|
org.dromara.hutool.extra.ssh |
Jsch封装,包括端口映射、SFTP封装等,入口为JschUtil
|
org.dromara.hutool.extra.ssh.engine |
SSH 引擎封装
|
org.dromara.hutool.extra.ssh.engine.ganymed |
Ganymed-SSH2(https://www.ganymed.ethz.ch/ssh2/) 引擎封装
|
org.dromara.hutool.extra.ssh.engine.jsch |
Jsch(http://www.jcraft.com/jsch/) 引擎封装
|
org.dromara.hutool.extra.ssh.engine.mina |
Apache MINA SSHD(https://mina.apache.org/sshd-project/) 引擎封装
|
org.dromara.hutool.extra.ssh.engine.sshj |
SSH 引擎封装
|
org.dromara.hutool.extra.template |
第三方模板引擎封装,提供统一的接口用于适配第三方模板引擎,提供:
TemplateEngine:模板引擎接口,用于不同引擎的实现。
|
org.dromara.hutool.extra.template.engine |
第三方模板引擎实现
|
org.dromara.hutool.extra.template.engine.beetl |
Beetl实现,模板引擎介绍见:http://ibeetl.com/
|
org.dromara.hutool.extra.template.engine.enjoy |
Jfinal家的Enjoy模板引擎实现,见:https://jfinal.com/doc/6-1
|
org.dromara.hutool.extra.template.engine.freemarker |
Freemarker实现
见:https://freemarker.apache.org/ |
org.dromara.hutool.extra.template.engine.jetbrick |
jetbrick-template实现,模板引擎介绍见:https://github.com/subchen/jetbrick-template-2x
|
org.dromara.hutool.extra.template.engine.jetbrick.loader |
jetbrick-template实现,特殊资源加载器
模板引擎介绍见:https://github.com/subchen/jetbrick-template-2x |
org.dromara.hutool.extra.template.engine.jte |
jte实现
见:https://jte.gg/ |
org.dromara.hutool.extra.template.engine.pebble |
pebble template实现,模板引擎介绍见:https://github.com/PebbleTemplates/pebble
|
org.dromara.hutool.extra.template.engine.rythm |
Rythm实现,见:http://www.rythmengine.org/
|
org.dromara.hutool.extra.template.engine.thymeleaf |
Thymeleaf实现,见:https://www.thymeleaf.org/
|
org.dromara.hutool.extra.template.engine.velocity |
Velocity实现
见:http://velocity.apache.org/ |
org.dromara.hutool.extra.template.engine.wit |
Wit实现,见:http://zqq90.github.io/webit-script/
|
org.dromara.hutool.extra.tokenizer |
中文分词封装
通过定义统一接口,适配第三方分词引擎 |
org.dromara.hutool.extra.tokenizer.engine |
第三方分词引擎实现
|
org.dromara.hutool.extra.tokenizer.engine.analysis |
Lucene-analysis分词抽象封装
项目地址:https://github.com/apache/lucene-solr/tree/master/lucene/analysis |
org.dromara.hutool.extra.tokenizer.engine.ansj |
Ansj分词实现
项目地址:https://github.com/NLPchina/ansj_seg |
org.dromara.hutool.extra.tokenizer.engine.hanlp |
HanLP分词引擎实现
项目地址:https://github.com/hankcs/HanLP |
org.dromara.hutool.extra.tokenizer.engine.ikanalyzer |
IKAnalyzer分词引擎实现
项目地址:https://github.com/yozhao/IKAnalyzer |
org.dromara.hutool.extra.tokenizer.engine.jcseg |
Jcseg分词引擎实现
项目地址:https://gitee.com/lionsoul/jcseg |
org.dromara.hutool.extra.tokenizer.engine.jieba |
Jieba分词引擎实现
项目地址:https://github.com/huaban/jieba-analysis |
org.dromara.hutool.extra.tokenizer.engine.mmseg |
mmseg4j分词引擎实现
项目地址:https://github.com/chenlb/mmseg4j-core |
org.dromara.hutool.extra.tokenizer.engine.mynlp |
MYNLP 中文NLP工具包分词实现
项目地址:https://github.com/mayabot/mynlp/ |
org.dromara.hutool.extra.tokenizer.engine.word |
Word分词引擎实现
项目地址:https://github.com/ysc/word |
org.dromara.hutool.extra.validation |
基于JSR-380标准的校验工具类,封装了jakarta.validation的API
|
org.dromara.hutool.extra.xml |
XML和JAXB(Java Architecture for XML Binding)相关封装
由于JDK11+移除了"javax.xml.bind"相关类型,因此封装于extra模块 |
org.dromara.hutool.http |
Hutool-http针对JDK的HttpUrlConnection做一层封装,简化了HTTPS请求、文件上传、Cookie记忆等操作,使Http请求变得无比简单。
|
org.dromara.hutool.http.auth |
提供HTTP认证相关封装
|
org.dromara.hutool.http.client |
HTTP请求客户端封装,请求过程如下:
Server
^ |
| v
Request Response
^ |
| v
ClientEngine
|
org.dromara.hutool.http.client.body |
请求体封装实现
|
org.dromara.hutool.http.client.cookie |
自定义Cookie
|
org.dromara.hutool.http.client.engine |
Http客户端引擎实现
|
org.dromara.hutool.http.client.engine.httpclient4 |
Apache HttpClient 4.x实现
文档见:https://hc.apache.org/httpcomponents-client-4.5.x/index.html |
org.dromara.hutool.http.client.engine.httpclient5 |
Apache HttpClient 5.1.x实现
文档见:https://hc.apache.org/httpcomponents-client-5.1.x/index.html |
org.dromara.hutool.http.client.engine.jdk |
基于JDK的HttpUrlConnection封装的HTTP客户端
|
org.dromara.hutool.http.client.engine.okhttp |
OKHttp3封装
文档见:https://square.github.io/okhttp/ |
org.dromara.hutool.http.html |
HTML相关工具封装
|
org.dromara.hutool.http.meta |
Http元数据信息,包括Header枚举、状态码、Http方法、枚举Content-Type等
|
org.dromara.hutool.http.multipart |
文件上传封装
|
org.dromara.hutool.http.proxy |
HTTP代理相关封装
|
org.dromara.hutool.http.server |
Http服务器封装
|
org.dromara.hutool.http.server.engine |
HTTP服务器引擎包
|
org.dromara.hutool.http.server.engine.jetty |
Jetty9引擎实现
|
org.dromara.hutool.http.server.engine.smart |
smart-http-server服务器引擎实现
见:https://smartboot.tech/smart-http/ |
org.dromara.hutool.http.server.engine.sun |
HttpServer 引擎实现包 |
org.dromara.hutool.http.server.engine.sun.filter |
Filter 实现包装 |
org.dromara.hutool.http.server.engine.tomcat |
Tomcat引擎实现
|
org.dromara.hutool.http.server.engine.undertow |
Undertow引擎实现
|
org.dromara.hutool.http.server.handler |
HTTP服务器请求和响应处理器的统一封装
|
org.dromara.hutool.http.server.servlet |
Servlet封装,包括Servlet参数获取、文件上传、Response写出等,入口为ServletUtil
|
org.dromara.hutool.http.ssl |
SSL封装
|
org.dromara.hutool.http.useragent |
User-Agent解析
|
org.dromara.hutool.http.webservice |
Webservice客户端封装实现
|
org.dromara.hutool.json |
JSON(JavaScript Object Notation JavaScript对象表示法)封装
规范见:https://www.rfc-editor.org/rfc/rfc8259 包含以下组件: JSONObject: 使用键值对表示的数据类型,使用"{}"包围 JSONArray: 使用列表表示的数据类型,使用"[]"包围 JSONPrimitive:表示boolean、String、Number等原始类型 JSON封装主要包括JSON表示和JSON转换:
<-----JSONMapper----- <---JSONParser----
Java对象 <====================> JSON对象 <=================> JSON字符串
-----JSONMapper-----> ---JSONWriter---->
当然,为了高效转换,如果没有自定义需求,Java对象可以不通过JSON对象与JSON字符串转换:
JSONTokener:JSON字符串底层解析器,通过Stream方式读取JSON字符串并对不同字段自定义处理。 |
org.dromara.hutool.json.engine |
JSON SPI 实现
通过实现 JSONEngine 以使用不同的JSON库完成:
JSON序列化,即Java Bean(POJO)对象转为JSON字符串
JSON反序列化,即JSON字符串转为Java Bean(POJO)对象
|
org.dromara.hutool.json.engine.fastjson |
Fastjson2引擎实现
https://github.com/alibaba/fastjson2 |
org.dromara.hutool.json.engine.gson |
GSON引擎实现
项目:https://github.com/google/gson |
org.dromara.hutool.json.engine.jackson |
Jackson引擎实现
https://github.com/FasterXML/jackson |
org.dromara.hutool.json.engine.moshi |
Moshi引擎实现
https://github.com/square/moshi |
org.dromara.hutool.json.jwt |
JSON Web Token (JWT)封装
规范见:https://datatracker.ietf.org/doc/html/rfc7519 |
org.dromara.hutool.json.jwt.signers |
JWT签名封装
|
org.dromara.hutool.json.reader |
JSON读取和解析,主要解析字符串、流等JSON字符串为
JSON 。 |
org.dromara.hutool.json.serializer |
JSON序列化和反序列化,提供对象和JSON之间的转换,我们定义:
1.
|
org.dromara.hutool.json.serializer.impl |
默认实现的序列化和反序列化
|
org.dromara.hutool.json.support |
JSON的支持类,如用于转换和BeanPath操作的对象,还有用于格式化的对象等
|
org.dromara.hutool.json.writer |
JSON对象自定义转JSON字符串实现
|
org.dromara.hutool.json.xml |
JSON与XML相互转换封装,基于json.org官方库改造
|
org.dromara.hutool.log |
Hutool-log只是一个日志的通用门面,功能类似于Slf4j。
|
org.dromara.hutool.log.engine |
第三方日志库的实现封装
|
org.dromara.hutool.log.engine.commons |
Apache-Commons-Logging日志库的实现封装
|
org.dromara.hutool.log.engine.console |
控制台输出的实现封装
|
org.dromara.hutool.log.engine.jboss |
jboss-logging实现
|
org.dromara.hutool.log.engine.jdk |
JDK-Logging的实现封装
|
org.dromara.hutool.log.engine.log4j |
Log4j的实现封装
|
org.dromara.hutool.log.engine.log4j2 |
Log4j2的实现封装
|
org.dromara.hutool.log.engine.slf4j |
Slf4j的实现封装
|
org.dromara.hutool.log.engine.tinylog |
tinylog的实现封装
封装包括TinyLog和TinyLog2 |
org.dromara.hutool.log.level |
按照日志级别定义的日志打印接口定义
|
org.dromara.hutool.poi |
POI封装实现
Java针对MS Office的操作的库屈指可数,比较有名的就是Apache的POI库。 |
org.dromara.hutool.poi.csv |
提供CSV文件读写的封装,入口为CsvUtil
规范见:https://datatracker.ietf.org/doc/html/rfc4180 |
org.dromara.hutool.poi.excel |
POI中对Excel读写的封装,入口为ExcelUtil
|
org.dromara.hutool.poi.excel.cell |
Excel中单元格相关类,入口为CellUtil
|
org.dromara.hutool.poi.excel.cell.editors |
单元格值编辑器,内部使用
|
org.dromara.hutool.poi.excel.cell.setters |
单元格值自定义设置器,主要用于Excel数据导出,用户通过自定义此接口,实现可定制化的单元格值设定
|
org.dromara.hutool.poi.excel.cell.values |
不同类型单元格值的封装
|
org.dromara.hutool.poi.excel.reader |
数据读取接口及实现,此包中定义了SheetReader,通过实现此接口,实现sheet中的数据读取为不同类型。
|
org.dromara.hutool.poi.excel.reader.sheet |
Excel Sheet读取实现
|
org.dromara.hutool.poi.excel.sax |
Sax方式操作Excel方式的封装
|
org.dromara.hutool.poi.excel.sax.handler |
Sax读取中行处理器的定义和实现
|
org.dromara.hutool.poi.excel.shape |
Excel中绘图相关操作
|
org.dromara.hutool.poi.excel.style |
Excel样式封装,入口为:StyleUtil
|
org.dromara.hutool.poi.excel.writer |
Excel生成封装
|
org.dromara.hutool.poi.ofd |
开放版式文档(Open Fixed-layout Document )封装,基于ofdrw(https://gitee.com/Trisia/ofdrw)
|
org.dromara.hutool.poi.word |
POI中对Word操作封装
|
org.dromara.hutool.setting |
Setting模块主要针对Properties文件读写做封装,同时定义一套自己的配置文件规范,实现兼容性良好的配置工具。
|
org.dromara.hutool.setting.profile |
配置环境封装,例如Profile可以自定义不同环境下的配置文件位置
|
org.dromara.hutool.setting.props |
配置文件实现封装,例如Properties封装Props
|
org.dromara.hutool.setting.toml |
TOML(Tom's Obvious, Minimal Language)配置文件解析和生成
规范:https://toml.io/cn/
参考实现:https://github.com/TheElectronWill/TOML-javalib
|
org.dromara.hutool.setting.yaml |
YAML文件的读写封装,基于snakeyaml
|
org.dromara.hutool.socket |
Socket套接字相关工具类封装
|
org.dromara.hutool.socket.aio |
AIO相关封装
|
org.dromara.hutool.socket.nio |
NIO相关封装
|
org.dromara.hutool.socket.protocol |
消息协议接口及实现
|
org.dromara.hutool.swing |
Swing和awt相关封装
|
org.dromara.hutool.swing.captcha |
图片验证码实现
|
org.dromara.hutool.swing.captcha.generator |
验证码生成策略实现
|
org.dromara.hutool.swing.clipboard |
剪贴板相关的工具,包括剪贴板监听等
|
org.dromara.hutool.swing.img |
图像处理相关工具类封装
|
org.dromara.hutool.swing.img.color |
颜色处理相关工具类封装
|
Copyright © 2025. All rights reserved.