工具类 Util
本小节,介绍项目中使用到的工具类,避免大家重复造轮子。
# 1. Hutool
项目使用 Hutool (opens new window) 作为主工具库。Hutool 是国产的一个 Java 工具包,它可以帮助我们简化每一行代码,减少每一个方法,让 Java 语言也可以“甜甜的”。
yudao-common
(opens new window) 模块的 util
(opens new window) 包作为辅工具库,以 Utils 结尾,补充 Hutool 缺少的工具能力。
友情提示:常用的工具类,使用 ⭐ 标记,需要的时候可以找找有没对应的工具方法。
强烈推荐:
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 方法需要调用父方法。如下图所示:
# 3. MapStruct
项目使用 MapStruct (opens new window) 实现 VO、DO、DTO 等对象之间的转换。
如果你没有学习过 MapStruct,需要阅读下 《芋道 Spring Boot 对象转换 MapStruct 入门》 (opens new window) 文章。
在每个 yudao-module-xxx-biz
模块的 convert
包下,可以看到各个业务的 Convert 接口,如下图所示:
# 4. HTTP 调用
① 使用 Feign 实现声明式的调用,可参考《芋道 Spring Boot 声明式调用 Feign 入门 》 (opens new window)文章。
② 使用 Hutool 自带的 HttpUtil (opens new window) 工具类。