@Builder
是 Lombok 库中的一个注解,用于为类生成一个 Builder 模式的实现。Builder 模式是一种创建型设计模式,旨在通过使用链式调用来简化复杂对象的创建过程。使用 @Builder
注解可以显著减少样板代码,使类的构造更加简洁和易读。
基本用法
假设有一个包含多个字段的类:
import lombok.Builder;
import lombok.Getter;
@Builder
@Getter
public class User {
private String name;
private int age;
private String email;
}
通过 @Builder
注解,Lombok 会自动为 User
类生成一个内部静态 Builder 类,并提供相应的构建方法。
生成的代码
Lombok 会为 User
类生成如下代码:
public class User {
private String name;
private int age;
private String email;
User(String name, int age, String email) {
this.name = name;
this.age = age;
this.email = email;
}
public static UserBuilder builder() {
return new UserBuilder();
}
public static class UserBuilder {
private String name;
private int age;
private String email;
UserBuilder() {
}
public UserBuilder name(String name) {
this.name = name;
return this;
}
public UserBuilder age(int age) {
this.age = age;
return this;
}
public UserBuilder email(String email) {
this.email = email;
return this;
}
public User build() {
return