lombok:通常使用注解及注意事项
- 1.常用注解:
新建实体类后在class上添加以下注解(作用在下方):
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
- 2.注意事项一:
建议添加无参构造注解:@NoArgsConstructor。刚开始只用@AllArgsConstructor,没有仔细看它的作用,看到了All就以为是全部的构造方法,但事实上它是全参构造方法,包含一个或多个参数的构造方法,该方法不提供无参构造!!自己在使用jpa场景下会遇到调用无参构造而出现异常的情况,所以建议添加@NoArgsConstructor。
-
3.注意事项二:
使用 lombok 是需要安装插件的,如果不安装,IDE 则无法解析 lombok 注解。
安装插件的方法(idea):左上角file>>>settings>>>搜索plugins>>>点击plugins,在插件库中搜索lombok,点击install即可。
- 补充1:其他部分注解
@Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter :注解在属性上;为属性提供 setting 方法
@Setter :注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor :注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor :注解在类上;为类提供一个全参的构造方法
@Cleanup : 可以关闭流
@Builder : 被注解的类加个构造者模式
@Synchronized : 加个同步锁
@SneakyThrows : 等同于try/catch 捕获异常
@NonNull : 如果给参数加个这个注解 参数为null会抛出空指针异常
@Value : 注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。
- 补充2:
文档(英文): https://projectlombok.org/features/all