在 Spring Boot 中, @Builder 註解實際上並不是來自 Spring Boot 自身,而是來自於 Lombok 庫。Lombok 是一個 Java 庫,用於通過註解簡化和減少樣板代碼。
@Builder 註解提供了一種使用建造者模式來創建對象的簡單且靈活的方法。
您可以在類上使用 @Builder 註解以簡化對象創建,這特別在處理大量參數或選填參數時非常有用。
@Data
@Builder
public class User {
private String name;
private int age;
private String email;
}
在 Spring Boot 應用程序中,您可能會在各種場景中使用到 @Builder,例如在 REST 控制器中創建 DTO(數據傳輸對象)或在服務層中構建復雜對象。
@RestController
@RequestMapping("/api")
public class UserController {
@GetMapping("/user")
public User getUser() {
return User.builder()
.name("Alice")
.age(28)
.email("alice@example.com")
.build();
}
}
有時候需要初始化包含多個嵌套對象的複雜對象圖,比如:
@Data
@Builder
public class Address {
private String street;
private String city;
private String country;
}
@Data
@Builder
public class Customer {
private String name;
private int age;
private Address address;
}
public class Main {
public static void main(String[] args) {
Address address = Address.builder()
.street("123 Main St")
.city("Springfield")
.country("USA")
.build();
Customer customer = Customer.builder()
.name("Bob")
.age(40)
.address(address)
.build();
System.out.println(customer);
}
}
@Builder 註解可以大大簡化對象創建,特別是在處理多個參數或可選參數時。將其與 Spring Boot 結合使用,您可以更靈活和高效地構建和管理應用程序中的對象。要使用 @Builder,請確保在您的項目中已經包含 Lombok 庫並正確配置。