@Builder

296 阅读1分钟

@Builder 注解的作用是简化 Java 类的构建过程,实现建造者模式。通过使用 @Builder 注解,可以让我们以一种更简洁的方式创建对象,并且可以在对象创建过程中设置可选参数。

举个例子,假设我们有一个简单的 User 类:

javaCopy Code
import lombok.Builder;
import lombok.Data;

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

在上面的例子中,我们在 User 类上添加了 @Builder 注解。使用了 @Builder 注解之后,Lombok 会自动生成一个静态内部类 Builder,并在 User 类中添加一个名为 builder 的方法。

现在,我们可以通过以下方式来创建 User 对象:

javaCopy Code
User user = User.builder()
    .username("john")
    .password("123456")
    .email("john@example.com")
    .build();

在这个例子中,我们使用了 builder 方法通过链式调用设置了 User 对象的属性,并最终调用 build 方法来创建 User 对象。这样,我们就可以以一种流畅的方式创建对象,而不需要直接调用构造方法并传入大量参数。

原理方面,当我们在 User 类上添加 @Builder 注解时,Lombok会自动生成相应的代码,包括静态内部类 Builder、setter 方法以及 build 方法等,以便于实现建造者模式的功能。

综上所述,通过使用 @Builder 注解,我们可以以简洁的方式实现对象的创建和初始化,并且符合建造者模式的设计理念。这样做有助于提高代码的可读性和可维护性。