lombok 简介
Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。
“Boilerplate”是一个术语,用于描述在应用程序的许多部分中很少改动就重复的代码。对Java语言最常见的批评就是在大多数项目中都可以找到这种类型的代码,由于语言本身的局限性而更加严重。龙目岛计划(Project Lombok)旨在通过用简单的注释集代替众多的代码。
常用的注解
@Data//生成get和set (注解组合,含@Setter
、@Getter、@RequiredArgsConstructor、
@EqualsAndHashCode等注解)
此外还提供了equals、canEqual、hashCode、toString 方法
@ToString//生成toString方法
@NoArgsConstructor//生成无参构造
@AllArgsConstructor//生成有参构造
@Accessors(chain = true)//连续操作对象
@Cleanup : 可以关闭流
@Builder : 被注解的类加个构造者模式
@Synchronized : 加个同步锁
@SneakyThrows : 等同于try/catch 捕获异常
@NonNull : 如果给参数加个这个注解
参数为null会抛出空指针异常
@Value : 注解和@Data类似,区别在于它会把
所有成员变量默认定义为private final修饰,
并且不会生成set方法。
参考文档
1、lombok官网 https://projectlombok.org/features/all
2、https://blog.csdn.net/sunsfan/article/details/53542374