SpringBoot 快速开发(Lombok 安装与使用)
·
在 Java 开发中,手写 getter/setter、toString、构造器 等样板代码是每个开发者都绕不开的事 —— 代码冗长、重复且毫无技术含量。而 Lombok 正是解决这个痛点的神器:通过简单的注解,就能自动生成这些重复代码,让实体类开发效率翻倍。本文结合实战教学场景,手把手教你搞定 Lombok 的安装、配置与核心使用。
一、为什么要用 Lombok?
先看一个直观对比:
- 不用 Lombok:一个简单的 User 实体类,需要手写 20+ 行 get/set/ 构造器代码;
- 用 Lombok:仅需 2-3 个注解,就能实现相同功能,代码量减少 80%。
Lombok 核心价值:
- 消除冗余代码,让实体类更简洁;
- 减少手动编写错误(比如漏写某个属性的 set 方法);
- 适配 SpringBoot 生态,是企业开发的标配工具。
二、第一步:项目中引入 Lombok 依赖
使用 Lombok 的前提是必须引入依赖(这是核心前提,少了这一步注解完全无效),以下是主流构建工具的配置方式:
1. Maven 项目(pom.xml)
<!-- Lombok 依赖 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version> <!-- 建议使用稳定版,与SpringBoot兼容 -->
<scope>provided</scope> <!-- 编译时生效,无需打包到最终jar -->
</dependency>
2. Gradle 项目(build.gradle)
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'
}
注意:SpringBoot 父工程已内置 Lombok 版本管理,也可直接省略 version 标签,使用默认兼容版本。
三、第二步:IDE 开启注解处理
很多同学遇到 “注解加了但方法不生效” 的问题,大概率是 IDE 未开启注解处理器。以 IntelliJ IDEA 为例:
操作步骤
- 打开 IDEA 设置:
File → Settings(Windows/Linux)或IntelliJ IDEA → Settings(Mac); - 依次展开:
Build, Execution, Deployment → Compiler → Annotation Processors; - 勾选 Enable annotation processing(开启注解处理);
- 点击
Apply → OK,重启 IDEA 生效。
补充:如果仍不生效,建议安装 IDEA 插件市场的「Lombok」插件(Settings → Plugins → 搜索 Lombok → 安装)。
四、第三步:Lombok 核心注解实战
以 User 实体类为例,讲解最常用的 Lombok 注解,也是教学中重点强调的核心内容。
1. 基础注解:@Getter / @Setter / @ToString
单独为属性生成 get/set 方法或重写 toString 方法:
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
// 为所有属性生成get方法
@Getter
// 为所有属性生成set方法
@Setter
// 重写toString方法,打印对象属性
@ToString
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
测试调用:
public class UserTest {
public static void main(String[] args) {
User user = new User();
// 调用Lombok自动生成的set方法
user.setId(1L);
user.setName("张三");
user.setAge(25);
// 调用Lombok自动生成的get方法
System.out.println("用户名:" + user.getName());
// 调用Lombok自动生成的toString方法
System.out.println(user);
}
}
输出结果:
用户名:张三
User(id=1, name=张三, age=25, email=null)
2. 万能注解:@Data(推荐)
@Data 是组合注解,一次性包含 @Getter、@Setter、@ToString、@EqualsAndHashCode、@RequiredArgsConstructor 功能,是实体类的 “一站式解决方案”。
import lombok.Data;
// 替代所有基础注解,自动生成核心方法
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
3. 构造器注解
教学中重点强调了构造器的自动生成,解决手动写构造器的麻烦:
@NoArgsConstructor:生成无参构造器;@AllArgsConstructor:生成包含所有属性的全参构造器;@RequiredArgsConstructor:生成包含 “final 或 @NonNull 属性” 的构造器(按需使用)。
实战示例:
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
// 核心方法 + 无参构造 + 全参构造
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
测试构造器:
public class UserTest {
public static void main(String[] args) {
// 无参构造(@NoArgsConstructor)
User user1 = new User();
user1.setName("李四");
// 全参构造(@AllArgsConstructor)
User user2 = new User(2L, "王五", 30, "wangwu@example.com");
System.out.println(user1);
System.out.println(user2);
}
}
输出结果
User(id=null, name=李四, age=null, email=null)
User(id=2, name=王五, age=30, email=wangwu@example.com)
五、常见问题与解决方案
教学中老师也遇到了 “注解生效异常” 的问题,这里整理高频坑点:
| 问题现象 | 原因 | 解决方案 |
|---|---|---|
| 调用 get/set 方法报错 | 未引入 Lombok 依赖 | 检查 pom.xml/build.gradle 依赖是否配置正确 |
| 注解标红 / 无提示 | IDE 未安装 Lombok 插件 | 插件市场安装 Lombok 插件 |
| 注解存在但方法不生效 | 未开启注解处理器 | 勾选 Enable annotation processing |
| 编译报错 “找不到构造器” | 未加对应的构造器注解 | 补充 @NoArgsConstructor / @AllArgsConstructor |
六、总结
- Lombok 是 SpringBoot 开发的必备工具,核心是通过注解替代重复的样板代码;
- 核心使用流程:引入依赖 → IDE 开启注解处理 → 实体类加注解(推荐
@Data + @NoArgsConstructor); - 优先使用
@Data注解,搭配构造器注解,能满足 90% 的实体类开发需求。
更多推荐



所有评论(0)