lombok 下的@Builder註解用法
阿新 • • 發佈:2021-06-10
pom依賴
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>0.10.2</version>
</dependency>
java~lombok裡的Builder註解
lombok註解在java進行編譯時進行程式碼的構建,對於java物件的建立工作它可以更優雅,不需要寫多餘的重複的程式碼,這對於JAVA開發人員是很重要的,在出現lombok之後,物件的建立工作更提供Builder方法,它提供在設計資料實體時,對外保持private setter,而對屬性的賦值採用Builder的方式,這種方式最優雅,也更符合封裝的原則,不對外公開屬性的寫操作!
@Builder宣告實體,表示可以進行Builder方式初始化,@Value註解,表示只公開getter,對所有屬性的setter都封閉,即private修飾,所以它不能和@Builder現起用
一般地,我們可以這樣設計實體!
@Builder(toBuilder = true)
@Getter
public class UserInfo {
private String name;
private String email;
@MinMoney(message = "金額不能小於0.")
@MaxMoney(value = 10, message = "金額不能大於10.")
private Money price;
}
@Builder註解賦值新物件
UserInfo userInfo = UserInfo.builder()
.name("zzl")
.email("[email protected]")
.build();
@Builder註解修改原物件的屬性值
修改實體,要求實體上新增@Builder(toBuilder=true)
userInfo = userInfo.toBuilder()
.name("OK")
.email("[email protected]")
.build();