在Springboot中使用lombok使代碼更加的優雅 https://www.projectlombok.org/ide
在idea中繼承lombok插件就不說了函數
今天出現的問題是lombok在繼承關係時,toString方法沒法打印基類屬性,比較對象equals的時候也會略過基類屬性,只會比較子類的屬性值是否全等ui
那麼首先去了解一下lombok中咱們用的最多的註解@Dataidea
這是在官網上截取的一段@Data的解釋:spa
@Data
是一個方便的快捷方式註釋,它捆綁了@ToString
,@EqualsAndHashCode
和@Getter
/@Setter
和@RequiredArgsConstructor
它們的特徵:換句話說,@Data
生成一般與簡單POJO(普通舊Java對象)和bean相關聯的全部樣板:全部字段的getter,全部非的setter最終場,和適當的toString
,equals
並hashCode
實現涉及類的字段和初始化全部final字段,以及不具備初始已打上全部非最終場構造@NonNull
,以保證該領域歷來都不是空值。插件
@Data
就像具備隱式@Getter
,@Setter
,@ToString
,@EqualsAndHashCode
和@RequiredArgsConstructor
在類註解(不一樣之處在於沒有構造將生成若是已經存在任何明確寫入構造函數)。可是,這些註釋的參數(例如callSuper
,includeFieldNames
和exclude
)不能設置@Data
。若是您須要爲這些參數中的任何一個設置非默認值,只需顯式添加這些註釋; @Data
足夠聰明,能夠遵循那些註釋。code
說白了,它就是不少註解的集合,而且生成的get,set,equals、hashCode都是針對於本身的,若是想同時把父類的也加進來怎麼辦呢,其實官網解釋已經給出了說明,就是顯示的指定莫些註解的callSuper參數,對象
若是說子類和父類要併爲同一個對象進行toString,equals判斷那麼在類上加入:blog
1 @ToString(callSuper = true) 2 @EqualsAndHashCode(callSuper = true)
官網很重要繼承