@Data与@Getter@Setter都为lombok注解
区别:
@Data
为所有字段生成 getter,一个有用的 toString 方法,以及检查所有非瞬态字段的 hashCode 和 equals 实现,还将为所有非最终字段以及构造函数生成设置器。等效于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode。注解在类上。
@Getter@Setter
@Setter:注解在属性上:为属性提供 setter方法, 注解在类上表示当前类中所有属性都生成setter方法
@Getter:注解在属性上:为属性提供 getter方法, 注解在类上表示当前类中所有属性都生成getter方法
可注解在类上与属性上。
总结
1)
@Data注解相对于@Getter注解与@Setter注解编译后文件新增了equals()方法,canEqual()方法,hashCode()方法,toString()方法
2)
@Data注解可以作用在类上 为所有属性提供 getter()方法,setter()方法,equals()方法,canEqual()方法,hashCode()方法,toString()方法.
@Getter注解与@Setter注解
注解在属性上:为属性提供 getter方法与setter方法;
注解在类上表示当前类中所有属性都生成getter方法与setter方法;