Spring Boot 集成 Lombok 的核心目的是消除实体类中冗余的 getter/setter/toString/equals/hashCode 等模板代码,通过编译期自动生成字节码实现源码简洁、IDE 可识别、运行无性能损耗;需正确配置依赖(如 version=1.18.24、scope=provided)、安装 IDE 插件并启用注解处理,再结合 @Data、@NoArgsConstructor、@AllArgsConstructor、@Builder 等注解高效开发。

Spring Boot 集成 Lombok 的核心目的,就是让实体类告别满屏的 getter/setter/toString/equals/hashCode 等模板代码。它不是运行时 magic,而是在编译阶段自动生成这些方法,源码干净、IDE 可识别、字节码完整。
加依赖:告诉项目“我要用 Lombok”
在 pom.xml 中添加 Lombok 依赖(推荐使用 provided 或 optional=true):
- 避免 Lombok 类被意外传递到下游模块
- 不参与打包,只在编译期起作用
- 当前稳定版建议用
1.18.24(适配 Spring Boot 3.x)
示例配置:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.24</version> <scope>provided</scope> </dependency>
装插件:让 IDE 看得懂注解生成的代码
否则 IDEA/Eclipse/VS Code 会报红,提示“找不到 getXXX 方法”——实际方法已存在,只是没显式写出来。
立即学习“Java免费学习笔记(深入)”;
- IntelliJ IDEA:Plugins → 搜索 “Lombok”,安装后重启;再打开 Settings → Build → Compiler → Annotation Processors → 勾选 “Enable annotation processing”
- Eclipse:下载 lombok.jar,双击运行,选择 Eclipse 安装路径,重启即可
- VS Code:安装 Extension “Lombok Annotations Support for VS Code”(需配合 Java Extension Pack)
写注解:一行代替二十行
以一个典型 User 实体为例,传统写法要手动补全至少 15+ 行方法;用 Lombok 后只需几个注解:
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private Long id;
private String username;
private String email;
}
-
@Data自动包含:@Getter+@Setter+@ToString+@EqualsAndHashCode+@RequiredArgsConstructor -
@NoArgsConstructor补上无参构造器(JPA/JSON 反序列化必需) - 若字段含
final或@NonNull,@RequiredArgsConstructor会自动为其生成带参构造
如需继承父类(比如 BaseEntity),记得加参数:@ToString(callSuper = true) 和 @EqualsAndHashCode(callSuper = true),否则父类字段不会参与生成。
进阶实用技巧
日常开发中这几个注解组合很常用:
-
@Builder:快速构建对象,支持链式调用(User.builder().id(1L).username("a").build()) -
@Slf4j:类上加此注解,自动声明private static final Logger log = LoggerFactory.getLogger(...) -
@NonNull:放在方法参数或字段上,Lombok 会在 setter 或构造器里插入 null 检查逻辑 -
@Value:适合不可变 DTO,所有字段默认private final,只生成 getter 不生成 setter
不复杂但容易忽略:Lombok 注解生效的前提是编译器能扫描到它们,所以务必确保 Maven/Gradle 配置和 IDE 插件都到位——缺一不可。


















