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進(jìn)行編譯時進(jìn)行代碼的構(gòu)建,對于java對象的創(chuàng)建工作它可以更優(yōu)雅,不需要寫多余的重復(fù)的代碼,這對于JAVA開發(fā)人員是很重要的
在出現(xiàn)lombok之后,對象的創(chuàng)建工作更提供Builder方法,它提供在設(shè)計(jì)數(shù)據(jù)實(shí)體時,對外保持private setter,而對屬性的賦值采用Builder的方式
這種方式最優(yōu)雅,也更符合封裝的原則,不對外公開屬性的寫操作!
@Builder聲明實(shí)體,表示可以進(jìn)行Builder方式初始化,@Value注解,表示只公開getter,對所有屬性的setter都封閉,即private修飾,所以它不能和@Builder現(xiàn)起用
設(shè)計(jì)實(shí)體
@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注解修改原對象的屬性值
修改實(shí)體,要求實(shí)體上添加@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-05Java實(shí)現(xiàn)的zip工具類完整實(shí)例
這篇文章主要介紹了Java實(shí)現(xiàn)的zip工具類,結(jié)合完整實(shí)例形式分析了Java針對zip文件指定路徑壓縮、遞歸壓縮等相關(guān)操作技巧,需要的朋友可以參考下2018-12-12Java面試題沖刺第二十六天--實(shí)戰(zhàn)編程
這篇文章主要為大家分享了最有價值的三道java實(shí)戰(zhàn)面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下2021-08-08