Java的中l(wèi)ombok下的@Builder注解用法詳解
lombok的@Builder注解用法
pom依賴
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>0.10.2</version> </dependency>
lombok注解在java進行編譯時進行代碼的構(gòu)建,對于java對象的創(chuàng)建工作它可以更優(yōu)雅,不需要寫多余的重復的代碼,這對于JAVA開發(fā)人員是很重要的
在出現(xiàn)lombok之后,對象的創(chuàng)建工作更提供Builder方法,它提供在設計數(shù)據(jù)實體時,對外保持private setter,而對屬性的賦值采用Builder的方式
這種方式最優(yōu)雅,也更符合封裝的原則,不對外公開屬性的寫操作!
@Builder聲明實體,表示可以進行Builder方式初始化,@Value注解,表示只公開getter,對所有屬性的setter都封閉,即private修飾,所以它不能和@Builder現(xiàn)起用
設計實體
@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("bgood@sina.com") .build();
@Builder注解修改原對象的屬性值
修改實體,要求實體上添加@Builder(toBuilder=true)
userInfo = userInfo.toBuilder() .name("OK") .email("zgood@sina.com") .build();
到此這篇關(guān)于Java的中l(wèi)ombok下的@Builder注解用法詳解的文章就介紹到這了,更多相關(guān)lombok的@Builder注解用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot logback-spring.xml無法加載問題
這篇文章主要介紹了Springboot logback-spring.xml無法加載問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05