Release Notes
- 1 、 [新增] ID 模块:提供 ID 生成能力,支持多种 ID 生成策略,如:UUID 、Snowflake 、Date 、Random 等多种 ID 生成工具;2 、 [新增] Serializer 模块:提供序列化、反序列化能力,支持扩展多种序列化格式,如 jdk 、protobuf 、hessian…等;3 、 [强化] 已有工具能力完善,包括:StringTool 、CookieTool 等;4 、 [升级] 升级依赖版本;
简介
XXL-TOOL 是一个 Java 工具类库,致力于让 Java 开发更高效。包含 “日期、集合、字符串、IO 、缓存、并发、Excel 、Emoji 、Response 、Pipeline 、Http 、Json 、JsonRpc 、Encrypt 、Auth 、ID 、Serializer...” 等数十个模块。
文档地址
组件列表
模块 | 说明 |
---|---|
Core 模块 | 包含集合、缓存、日期……等基础组件工具。 |
IO 模块 | 一系列处理 IO (输入/输出)操作的工具。 |
Concurrent 模块 | 一系列并发编程工具,具备良好的线程安全、高并发及高性能优势,包括 MessageQueue (高性能内存队列,30W+ TPS )、CyclicThread (后台循环线程)、TimeWheel (时间轮组件)等。 |
Http 模块 | 一系列处理 Http 通讯、IP 、Cookie 等相关工具。 |
Json 模块 | json 序列化、反序列化工具封装,基于 Gson 。 |
JsonRpc 模块 | 一个轻量级、跨语言远程过程调用实现,基于 json 、http 实现(对比传统 RPC 框架:XXL-RPC)。 |
Excel 模块 | 一个灵活的 Java 对象和 Excel 文档相互转换的工具。一行代码完成 Java 对象和 Excel 之间的转换。 |
Emoji 模块 | 一个灵活可扩展的 Emoji 表情编解码库,可快速实现 Emoji 表情的编解码。 |
Response 模块 | 统一响应数据结构体,标准化数据结构、状态码等,降低协作成本。 |
Pipeline 模块 | 高扩展性流程编排引擎。 |
Exception 模块 | 异常处理相关工具。 |
Freemarker 模块 | 模板引擎工具,支持根据模板文件实现 动态文本生成、静态文件生成 等,支持邮件发送、网页静态化场景。 |
Encrypt 模块 | 一系列处理编解码、加解密的工具,包括 Md5Tool 、HexTool 、Base64Tool...等。 |
Auth 模块 | 一系列权限认证相关工具,包括 JwtTool...等。 |
ID 模块 | 一系列 ID 生成工具,支持多种 ID 生成策略,包括 UUID 、Snowflake 、Date 、Random 等。 |
Serializer 模块 | 一系列序列化、反序列化工具,支持扩展多种序列化格式,包括 jdk 、protobuf 、hessian 等。 |
... | ... |
代码示例:Serializer 用法
一系列序列化、反序列化工具,支持扩展多种序列化格式,包括 jdk 、protobuf 、hessian 等。
// a 、匹配序列化工具Serializer serializer = SerializerEnum.JAVA.getSerializer();// b 、序列化 Java 对象 ( DemoUser 为示例对象)DemoUser demoUser = new DemoUser("jack", 18);byte[] bytes = serializer.serialize(demoUser);// b 、反序列化 Java 对象DemoUser demoUser2 = serializer.deserialize(bytes);logger.info("demoUser2: {}", demoUser2);
代码示例:ID 生成工具用法
一系列 ID 生成工具,支持多种 ID 生成策略,包括 UUID 、Snowflake 、Date 、Random 等。
// a 、日期方式 ID 生成DateIdTool.getDateId(); // 输出格式:20250713115530671505// b 、雪花算法方式 ID 生成SnowflakeIdTool idGen = new SnowflakeIdTool(1);idGen.nextId()); // 输出格式:7350010799378665472// c 、UUID 方式 ID 生成UUIDTool.getUUID(); // 输出格式:21765f7c-8c47-4418-9a72-a3e5c88be06cUUIDTool.getSimpleUUID(); // 输出格式:cf665741604b4f309cd59d142ee007e3// d 、随机方式 ID 生成RandomIdTool.getDigitId(10); // 输出格式:63484898497712492211RandomIdTool.getLowercaseId(); // 输出格式:ueppklqjsbqsxfhdlyyeRandomIdTool.getLowercaseId(10); // 输出格式:airedlhfxcRandomIdTool.getUppercaseId(); // 输出格式:PTKYKLDTLCKYLWAIARUFRandomIdTool.getUppercaseId(10); // 输出格式:RYFZLCXKATRandomIdTool.getAlphaNumeric(10); // 输出格式:b1LQh8QsNxL15DKEE3ySRandomIdTool.getAlphaNumericWithSpecial(); // 输出格式:_bl+Cbf0[Rrj:ta=KZWb