Lombok 的注解 @Builder @NoArgsConstructor 沖突


問題

在使用lombok簡化model類時。使用@Builder建造者模式。

定義如下類:

 

 

 

 

 

 

  

報以下異常

 

解決辦法

  1. 去掉@NoArgsConstructor
  2. 添加@AllArgsConstructor

 

原因

Entity上加上@Builder,會默認為類加上全參構造函數,且提供以建造器模式構造對象的方法。但此時因為顯示聲明了構造器,默認的無參構造器就失效了,就不能通過new Obj()的方式創建對象。

這時自然想到加@NoArgsConstructor注解生成無參構造函數,以便使用new Obj()方式創建對象,很多框架中都需要反射調用無參構造函數。但是如果顯式聲明了@NoArgsConstructor,lombok就不會生成全參構造函數,而@Builder中會用到全參構造函數,所以沖突。

再加上@AllArgsConstructor可解決;或者去掉@NoArgsConstructor。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM