ruoyi-vue-pro 开发指南 ruoyi-vue-pro 开发指南
  • 萌新必读
  • 后端手册
  • 中间件手册
  • 工作流手册
  • 大屏手册
  • 支付手册
  • 商城手册
  • 公众号手册
  • 系统手册
  • 运维手册
  • 前端手册 Vue 2.x
  • 前端手册 Vue 3.x
  • 工作流手册
  • 大屏手册
  • 支付手册
  • 商城手册
  • 公众号手册
  • 系统手册
视频教程
  • Vue3 + element-plus (opens new window)
  • Vue3 + vben(ant-design-vue) (opens new window)
  • Vue2 + element-ui (opens new window)
微服务版 (opens new window)
作者博客 (opens new window)
GitHub (opens new window)
  • 萌新必读
  • 后端手册
  • 中间件手册
  • 工作流手册
  • 大屏手册
  • 支付手册
  • 商城手册
  • 公众号手册
  • 系统手册
  • 运维手册
  • 前端手册 Vue 2.x
  • 前端手册 Vue 3.x
  • 工作流手册
  • 大屏手册
  • 支付手册
  • 商城手册
  • 公众号手册
  • 系统手册
视频教程
  • Vue3 + element-plus (opens new window)
  • Vue3 + vben(ant-design-vue) (opens new window)
  • Vue2 + element-ui (opens new window)
微服务版 (opens new window)
作者博客 (opens new window)
GitHub (opens new window)
  • 萌新必读

    • 简介
    • 交流群
    • 视频教程
    • 功能列表
    • 快速启动(后端项目)
    • 快速启动(前端项目)
    • 接口文档
    • 技术选型
    • 项目结构
    • 代码热加载
    • 一键改包
    • 删除功能
    • 内网穿透
    • 达梦数据库专属
  • 后端手册

    • 新建模块
    • 代码生成【单表】(新增功能)
    • 代码生成【主子表】
    • 代码生成(树表)
    • 功能权限
    • 数据权限
    • 用户体系
    • 三方登录
    • OAuth 2.0(SSO 单点登录)
    • SaaS 多租户【字段隔离】
    • SaaS 多租户【数据库隔离】
    • WebSocket 实时通信
    • 异常处理(错误码)
    • 参数校验
    • 分页实现
    • 文件存储(上传下载)
    • Excel 导入导出
    • 系统日志
    • MyBatis 数据库
    • MyBatis 联表&分页查询
    • 多数据源(读写分离)
    • Redis 缓存
    • 本地缓存
    • 异步任务
    • 配置管理
    • 工具类 Util
      • 1. Hutool
      • 2. Lombok
      • 3. MapStruct
      • 4. HTTP 调用
    • 单元测试
    • 分布式锁
    • 幂等性(防重复提交)
    • 数据库文档
    • 验证码
  • 中间件手册

    • 定时任务
    • 消息队列(内存)
    • 消息队列(Redis)
    • 消息队列(RocketMQ)
    • 消息队列(RabbitMQ)
    • 消息队列(Kafka)
    • 限流熔断
  • 工作流手册

    • 工作流(Flowable)会签、或签
  • 商城手册

    • 商城演示
    • 功能开启
  • 大屏手册

    • 报表设计器
    • 大屏设计器
  • 支付手册

    • 功能开启
    • 支付宝支付接入
    • 微信公众号支付接入
    • 微信小程序支付接入
    • 支付宝、微信退款接入
  • 公众号手册

    • 功能开启
    • 公众号接入
    • 公众号粉丝
    • 公众号标签
    • 公众号消息
    • 自动回复
    • 公众号菜单
    • 公众号素材
    • 公众号图文
    • 公众号统计
  • 系统手册

    • 短信配置
    • 邮件配置
    • 站内信配置
    • 数据脱敏
    • 敏感词
    • 地区 & IP 库
  • 运维手册

    • 开发环境
    • Linux 部署
    • Docker 部署
    • Jenkins 部署
    • HTTPS 证书
    • 服务监控
  • 前端手册 Vue 3.x

    • 开发规范
    • 菜单路由
    • Icon 图标
    • 字典数据
    • 系统组件
    • 通用方法
    • 配置读取
    • CRUD 组件
    • 国际化
    • IDE 调试
    • 代码格式化
  • 前端手册 Vue 2.x

    • 开发规范
    • 菜单路由
    • Icon 图标
    • 字典数据
    • 系统组件
    • 通用方法
    • 配置读取
  • 更新日志

    • 【v1.9.0】开发中
    • 【v1.8.3】2023-10-24
    • 【v1.8.2】2023-09-24
    • 【v1.8.1】2023-09-04
    • 【v1.8.0】2023-07-27
  • 开发指南
  • 后端手册
芋道源码
2022-04-04
目录

工具类 Util

本小节,介绍项目中使用到的工具类,避免大家重复造轮子。

# 1. Hutool

项目使用 Hutool (opens new window) 作为主工具库。Hutool 是国产的一个 Java 工具包,它可以帮助我们简化每一行代码,减少每一个方法,让 Java 语言也可以“甜甜的”。

yudao-common (opens new window) 模块的 util (opens new window) 包作为辅工具库,以 Utils 结尾,补充 Hutool 缺少的工具能力。

友情提示:常用的工具类,使用 ⭐ 标记,需要的时候可以找找有没对应的工具方法。

作用 Hutool 芋道 Utils
数组工具 ArrayUtil (opens new window) ArrayUtils (opens new window)
⭐ 集合工具 CollUtil (opens new window) CollectionUtils (opens new window)
⭐ Map 工具 MapUtil (opens new window) MapUtils (opens new window)
Set 工具 SetUtils (opens new window)
List 工具 ListUtil (opens new window)
文件工具 FileUtil (opens new window)
FileTypeUtil (opens new window)
FileUtils (opens new window)
压缩工具 ZipUtil (opens new window) IoUtils (opens new window)
IO 工具 ZipUtil (opens new window)
Resource 工具 ResourceUtil (opens new window)
JSON 工具 JsonUtils (opens new window)
数字工具 NumberUtil (opens new window) NumberUtils (opens new window)
对象工具 ObjectUtil (opens new window) ObjectUtils (opens new window)
唯一 ID 工具 IdUtil (opens new window)
⭐ 字符串工具 StrUtil (opens new window) StrUtils (opens new window)
时间工具 DateUtil (opens new window) DateUtils (opens new window)
反射工具 ReflectUtil (opens new window)
异常工具 ExceptionUtil (opens new window)
随机工具 RandomUtil (opens new window) RandomUtils (opens new window)
URL 工具 URLUtil (opens new window) HttpUtils (opens new window)
Servlet 工具 ServletUtils (opens new window)
Spring 工具 SpringUtil (opens new window) SpringAopUtils (opens new window)
SpringExpressionUtils (opens new window)
分页工具 PageUtils (opens new window)
校验工具 ValidationUtil (opens new window) ValidationUtils (opens new window)
断言工具 Assert (opens new window) AssertUtils (opens new window)

强烈推荐:

Guava 是 Google 开源的 Java 常用类库,如果你感兴趣,可以阅读 《Guava 学习笔记》 (opens new window) 文章。

# 2. Lombok

Lombok (opens new window) 是一个 Java 工具,通过使用其定义的注解,自动生成常见的冗余代码,提升开发效率。

如果你没有学习过 Lombok,需要阅读下 《芋道 Spring Boot 消除冗余代码 Lombok 入门》 (opens new window) 文章。

在项目的根目录有 lombok.config (opens new window) 全局配置文件,开启链式调用、生成的 toString/hashcode/equals 方法需要调用父方法。如下图所示:

Lombok 配置

# 3. MapStruct

项目使用 MapStruct (opens new window) 实现 VO、DO、DTO 等对象之间的转换。

如果你没有学习过 MapStruct,需要阅读下 《芋道 Spring Boot 对象转换 MapStruct 入门》 (opens new window) 文章。

在每个 yudao-module-xxx-biz 模块的 convert 包下,可以看到各个业务的 Convert 接口,如下图所示:

MapStruct 示例

# 4. HTTP 调用

① 使用 Feign 实现声明式的调用,可参考《芋道 Spring Boot 声明式调用 Feign 入门 》 (opens new window)文章。

② 使用 Hutool 自带的 HttpUtil (opens new window) 工具类。

配置管理
单元测试

← 配置管理 单元测试→

Theme by Vdoing | Copyright © 2019-2023 芋道源码 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×