@builder的作用
时间: 2023-10-05 12:13:22 浏览: 127
`@builder` 是一个注解,它可以用来标注一个方法或者一个类,用于生成构建器模式的代码。在使用 `@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 对象。
阅读全文