一个爱恨交加的东西,慎入! File-->Setting-->Plugins-->Browse Respositories-->Lombok-->Install-->重启IDEA 并且pom文件引入相关依赖
■ 常用注解 @Data :相当于@Setter + Getter + @ToString + @EqualsAndHashCode @Setter @Getter:作用于属性上,自动生成getter和setter方法 @NonNull:判断是否为空,如果为空,则抛出java.lang.NullPointerException @Synchronized:作用在方法上,自动添加到同步机制,生成的代码并不是直接锁方法而是锁代码块 @ToString:生成toString()方法,该注解有以下多个属性可以进一步设置: callSuper:是否输出父类的toString方法,默认为false includeFieldNames:是否包含字段名称,默认为true exclude:排除生成tostring的字段 @EqualsAndHashCode @Cleanup:用于确保已分配的资源被释放,自动帮我们调用close()方法。比如IO的连接关闭。 @SneakyThrows @NoArgsConstructor:自动生成无参数构造函数。 @AllArgsConstructor:自动生成全参数构造函数。 @Builder @SuperBuilder
@Data是一个方便的快捷方式批注,它将@ToString,@EqualsAndHashCode,@ Getter / @Setter和@RequiredArgsConstructor的功能捆绑在一起:换句话说,@Data生成通常与简单POJO关联的所有样板(普通的旧Java对象)和bean:所有字段的getter,所有非final字段的setter,以及涉及类字段的适当的toString,equals和hashCode实现,以及初始化所有final字段以及所有非final字段的构造函数没有使用@NonNull标记的初始化程序,以确保该字段永远不会为null。