@Builder的作用
时间: 2023-08-14 20:10:00 浏览: 62
@Builder 是 Lombok 提供的一个注解,它的作用是简化构建对象的过程,并提供了一种流式的方式来设置对象的属性。
通过在类上添加 @Builder 注解,Lombok 将会自动生成一个静态内部类 Builder,并在该 Builder 类中生成对应的属性设置方法和构建方法。我们可以使用链式调用的方式来设置对象的属性,使代码更加简洁和易读。
使用 @Builder 注解时,可以通过在类的构造方法、字段或者方法上添加 @NonNull 注解来指定必需的属性,以确保生成的 Builder 类在构建对象时必须设置这些属性。
@Builder 注解还提供了一些额外的功能,比如可以通过 @Singular 注解来支持处理集合类型的属性,并自动生成添加和移除元素的方法。
总的来说,@Builder 注解的作用是简化构建对象的过程,并提供了一种流式的方式来设置对象的属性,使代码更加简洁和易读。它是通过 Lombok 自动生成 Builder 类来实现这些功能的。
相关问题
@Builder 作用
`@Builder` 是 Lombok 中的一个注解,用于快速生成一个建造者模式相关的代码,可以用于简化对象的创建和初始化。使用 `@Builder` 注解后,Lombok 会自动生成一个静态内部类 Builder,该 Builder 中会包含所有字段的 setter 方法以及一个 build 方法,可以用于构建原对象。
使用 `@Builder` 注解时,需要将该注解放在类上,并将类的访问级别设置为 `public` 或 `package-private`。同时,需要在需要生成 builder 的字段上添加 `@NonNull` 注解,以确保生成的 builder 在创建对象时不会漏掉必填的字段。
示例代码:
```java
import lombok.Builder;
import lombok.NonNull;
@Builder
public class Person {
@NonNull
private String name;
private int age;
private String address;
}
// 使用方式
Person person = Person.builder()
.name("Tom")
.age(20)
.address("China")
.build();
```
在上面的示例中,使用 `@Builder` 注解自动生成了一个静态内部类 `Person.Builder`,该类包含了所有字段的 setter 方法和一个 build 方法。使用 `Person.builder()` 方法可以获取到该 builder,调用 setter 方法设置相应的字段值,最后调用 `build()` 方法创建一个 `Person` 对象。这样就可以简化对象的创建和初始化过程。
springboot @Builder 作用
@Builder 是 Lombok 提供的注解,用于简化构建器模式的使用。在 Spring Boot 中,@Builder 可以用于生成带有构造器的类,避免手动编写繁琐的构造器代码。使用 @Builder 注解可以让代码更加简洁易读,提高开发效率。
使用 @Builder 注解时,需要在类上添加 @NoArgsConstructor 和 @AllArgsConstructor 注解,分别用于生成无参构造器和全参构造器。同时,还需要在类上添加 @Builder 注解,用于生成 Builder 类。在 Builder 类中,可以通过链式调用的方式设置类的属性值,并通过 build() 方法返回生成的对象。例如:
```
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class User {
private Long id;
private String name;
private Integer age;
}
User user = User.builder()
.id(1L)
.name("Tom")
.age(18)
.build();
```
上面的代码使用 @Builder 注解生成了 User 类的 Builder 类,并通过链式调用的方式设置了 User 对象的属性值,最终使用 build() 方法生成了 User 对象。