您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# IDEA中Lombok怎么用
## 一、Lombok简介
Lombok是一个Java库,通过注解的方式自动生成getter/setter、构造方法、日志声明等重复代码,能够显著减少样板代码量。在IDEA中使用Lombok需要完成插件安装和项目配置两个关键步骤。
## 二、环境准备
### 1. 安装Lombok插件
1. 打开IDEA → `File` → `Settings` → `Plugins`
2. 搜索"Lombok",安装官方插件
3. 重启IDEA生效
### 2. 添加项目依赖
Maven项目在pom.xml中添加:
```xml
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version> <!-- 使用最新版本 -->
<scope>provided</scope>
</dependency>
Gradle项目:
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'
@Data // 自动生成getter/setter/toString/equals/hashCode
public class User {
private Long id;
private String username;
private LocalDateTime createTime;
}
@Getter(AccessLevel.PROTECTED)
@Setter
public class Product {
private String sku;
private BigDecimal price;
}
@NoArgsConstructor // 无参构造
@AllArgsConstructor // 全参构造
@RequiredArgsConstructor // final字段构造
public class Order {
private final Long orderId;
@NonNull private String status;
}
@Slf4j
public class PaymentService {
public void process() {
log.info("Payment processed"); // 直接使用log对象
}
}
Settings
→ Build
→ Compiler
→ Annotation Processors
Enable annotation processing
如果出现”cannot find symbol”错误:
1. 检查Lombok插件是否激活
2. 确保注解处理器已启用
3. 尝试File
→ Invalidate Caches
@Builder
public class Task {
private String title;
private Integer priority;
}
// 使用方式
Task task = Task.builder()
.title("Debug")
.priority(1)
.build();
@Accessors(chain = true)
@Setter
public class Employee {
private String name;
private String department;
}
// 使用方式
new Employee().setName("Alice").setDepartment("HR");
public void createUser(@NonNull String username) {
// Lombok会自动生成null检查
}
注解不生效:
序列化问题:
@Data
时注意equals
和hashCode
的实现@JsonIgnore
等注解与MapStruct配合:
需要额外添加lombok-mapstruct-binding
依赖
@Data
@Slf4j
@Data
@Getter
控制可见性提示:可通过
CTRL+鼠标左键
点击注解查看生成的代码(需开启Show Decompiled Sources
)
通过合理使用Lombok,可以使Java代码更加简洁,同时保持IDEA的代码提示和重构功能正常工作。建议团队统一注解使用规范以避免风格差异。 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。