曾经,我的POJO(实体)类里充斥着getter、setter、toString、equals和hashCode方法,一个简单的User类就有上百行代码。直到我发现了Lombok,它就像是为Java程序员量身定做的“代码清爽剂”。
1. 从“样板代码地狱”到极致简洁
- Before(没有Lombok):
public class User {
private Long id;
private String name;
private Integer age;
// 下面是一大堆自动生成的方法,占地方又容易出错
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
// ... 省略另外8个getter/setter
@Override
public String toString() { ... }
@Override
public boolean equals(Object o) { ... }
@Override
public int hashCode() { ... }
}- After(使用Lombok):
import lombok.Data;
@Data // 一个注解搞定所有:getter, setter, toString, equals, hashCode
public class User {
private Long id;
private String name;
private Integer age;
}天壤之别! 核心字段一目了然。
2. 建造者模式(Builder)再也不难写了
- 想用建造者模式来优雅地构造一个复杂对象?Lombok也只需一个注解。
import lombok.Builder;
@Builder
@Data
public class User {
private Long id;
private String name;
private Integer age;
}
// 使用起来非常优雅
User user = User.builder()
.id(1L)
.name("张三")
.age(25)
.build();3. 如何引入Lombok?
- 在Maven的
pom.xml中添加依赖:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version> <!-- 使用最新版本 -->
<scope>provided</scope>
</dependency>- 最重要的一步: 在你的IDE(如IntelliJ IDEA)中安装Lombok插件!否则代码会报红。
小结:
Lombok不是银弹,但在POJO、DTO、Config等“数据载体”类中,它能极大提升代码的可读性和开发效率。这是我一年来觉得最“真香”的工具之一。