@AllArgsConstructor
@NoArgsConstructor
@Builder
@Getter
@Setter
public class CreateUserVo {
@NotBlank
private String name;
@Builder.Default
private String hobby = "GAME";
}
以上是一個VO類, 用于創(chuàng)建用戶時(shí)接收參數(shù), 其中 hobby 為選填, 當(dāng)未指定 hobby 參數(shù)時(shí), hobby 被設(shè)置為 "GAME" .
這個特性也可以用在 Entity 中, 從Database取值為空時(shí), 設(shè)置默認(rèn)值.
需要注意的是, @Builder.Default 依賴下面的注解:
@AllArgsConstructor
@NoArgsConstructor
@Builder
toBuilder
此時(shí), 我們實(shí)例化對象: new CreateUserVo(), hobby 依舊為空.
除了自己修改構(gòu)造函數(shù), 我們可以使用 Lombok 提供的:
@Builder(toBuilder = true)