Lombok包

Lombok是一个Java库,旨在通过注解自动生成常见的Java代码,减少样板代码,提高开发效率。它通过在编译时自动添加方法,使代码更加简洁、可读。

常用Lombok注解

1. @Getter/@Setter

自动为类的字段生成getter和setter方法。

@Getter @Setter
private String name;

// 等同于
private String name;
public String getName() { return this.name; }
public void setName(String name) { this.name = name; }

2. @ToString

自动生成toString()方法,可以通过exclude属性排除特定字段。

@ToString(exclude = "password")
public class User {
    private String username;
    private String password;
}

3. @EqualsAndHashCode

自动生成equals()和hashCode()方法。

@EqualsAndHashCode
public class Person {
    private String name;
    private int age;
}

4. @NoArgsConstructor/@AllArgsConstructor/@RequiredArgsConstructor

分别生成无参构造器、全参构造器和必要参数构造器。

@NoArgsConstructor // 生成无参构造器
@AllArgsConstructor // 生成包含所有字段的构造器
public class Person {
    private String name;
    private int age;
}

5. @Data

组合注解,相当于@Getter + @Setter + @ToString + @EqualsAndHashCode + @RequiredArgsConstructor。

@Data
public class User {
    private String username;
    private String password;
}

6. @Builder

实现建造者模式,便于创建复杂对象。