Maven項目引入
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.16</version>
<scope>provided</scope>
</dependency>
@Data:注解在類上空幻;提供類所有屬性的 getting 和 setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在屬性上秫逝;為屬性提供 setting 方法
@Getter:注解在屬性上蓖扑;為屬性提供 getting 方法
@Log4j2 :注解在類上谈截;為類提供一個 屬性名為log 的 log4j 日志對象竹捉,和@Log4j注解類似
@NoArgsConstructor:注解在類上芜辕;為類提供一個無參的構造方法
@AllArgsConstructor:注解在類上;為類提供一個全參的構造方法
@EqualsAndHashCode:默認情況下块差,會使用所有非瞬態(tài)(non-transient)和非靜態(tài)(non-static)字段來生成equals和hascode方法侵续,也可以指定具體使用哪些屬性。
@toString:生成toString方法憨闰,默認情況下状蜗,會輸出類名、所有屬性起趾,屬性會按照順序輸出诗舰,以逗號分割。
@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
無參構造器训裆、部分參數(shù)構造器眶根、全參構造器,當我們需要重載多個構造器的時候边琉,只能自己手寫了
@NonNull:注解在屬性上属百,如果注解了,就必須不能為Null
@val:注解在屬性上变姨,如果注解了族扰,就是設置為final類型,可查看源碼的注釋知道