Lombok是个java库,简化java类的样板代码,,,简化开发
常用注解:
- @Getter
- @Setter
- @NoArgConstructor
- @AllArgConstructor
- @NonNull : 字段不能为空
- @RequiredArgsConstructor : 当成员变量非常多,不建议打上 @AllArgConstructor ,,使用 @RequiredArgsConstructor , 将标注了 @NonNull 的字段,变成构造方法
- @Builder
@Builder的问题
- @Builder会将无参构造方法变成 private ,,外部不能访问,,所以通过无参构造创建对象会失败,,如果又想使用@Builder ,,又想无参构造,就需要给他添加一个共有的无参构造函数,,
- @Builder 中是没有getter ,setter 函数的,,在对象序列化时,会报错 ,, 添加@Getter 去获取属性
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Getter
public class PersonDTO {@NonNullprivate String name;private String age;
}
lombok 是JSR269 规范的实现
JSR : java specification requests
如果是final字段,,在设置@Data的时候,只会生成getter,不会生成setter