在Spring Boot中使用Lombok的 @Builder 註解來進行物件的建構非常方便。以下是如何設置預設值和部分更新的一些範例:
@Data
@Builder
public class User {
private String name;
private int age;
@Builder.Default
private String role = "USER";
}
在上面的範例中, role 字段有一個預設值 "USER" 。如果在使用builder模式創建該物件時未設置 role 值,那麼預設值將被使用。
假設已經有一個物件,我們可以通過builder模式來進行部分字段的更新。Lombok中的
toBuilder
方法能夠輕鬆做到這一點。
首先,需要在原始類中增加 toBuilder=true 配置:
@Data
@Builder(toBuilder = true)
public class User {
private String name;
private int age;
@Builder.Default
private String role = "USER";
}
然後,可以使用 toBuilder 方法進行部分更新:
User originalUser = User.builder()
.name("Alice")
.age(30)
.build();
User updatedUser = originalUser.toBuilder()
.age(31)
.build();
設置預設值
在Spring Boot中使用Lombok的 @Builder 註解來進行物件的建構非常方便。以下是如何設置預設值和部分更新的一些範例:
@Data
@Builder
public class User {
private String name;
private int age;
@Builder.Default
private String role = "USER";
}
在上面的範例中, role 字段有一個預設值 "USER" 。如果在使用builder模式創建該物件時未設置 role 值,那麼預設值將被使用。
假設已經有一個物件,我們可以通過builder模式來進行部分字段的更新。Lombok中的
toBuilder
方法能夠輕鬆做到這一點。
首先,需要在原始類中增加 toBuilder=true 配置:
@Data
@Builder(toBuilder = true)
public class User {
private String name;
private int age;
@Builder.Default
private String role = "USER";
}
然後,可以使用 toBuilder 方法進行部分更新:
User originalUser = User.builder()
.name("Alice")
.age(30)
.build();
User updatedUser = originalUser.toBuilder()
.age(31)
.build();
// updatedUser.name will be "Alice"
// updatedUser.age will be 31
// updatedUser.role will be "USER" (default value retained)
上述範例中,我們只更新了 age 字段,其它字段保留原有值。
利用Lombok的 @Builder 註解,可以簡化對象創建以及部分字段更新的操作,使代碼更加簡潔明瞭。