Catch

IDEA中使用lombok

lombok 是一款可以精减 java 代码、提升开发人员生产效率的辅助工具,利用注解在编译期自动生成setter/getter/toString()/constructor 之类的代码。代码越少,意味着出 bug 的可能性越低。
官网地址:https://projectlombok.org/

引入 maven 依赖

<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.20</version> <scope>provided</scope> </dependency>

安装插件

进入 File->Settings->Plugins->Browse Repositories,搜索 Lombok Plugin,选中后点击右边的 install进行安装,安装完成后需要重启 IDEA

设置 Java Compiler

IDEA 有一个选项配置 Java Compiler,elipse 的编译方式不直接支持 lombok,应该选择 javac,因为 javac 是支持 lombok 的编译方式,而 maven 也是使用的 javac 编译器,因此运行 mvn 命令不会出错。

具体操作为进入 File->Settings,搜索 Java Compiler,在 use compiler 中选择 javac

设置 Annotation Processors

具体操作为进入 File->Settings,搜索 Annotation Processors,按下图设置即可

152231472728994534036bc2e4b0db99ae64b847ef839.png

到此,lombok 的配置就完成了,可以使用了

使用

@Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了 equals、canEqual、hashCode、toString 方法
@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为 log 的 log4j 日志对象
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
@NonNull:通过 set 方法设置时如果为 null, 将抛出 NullPointerException
@Cleanup:注释在引用变量前:自动回收资源 默认调用 close 方法
  @Cleanup(“dispose”) org.eclipse.swt.widgets.CoolBar bar = new CoolBar(parent, 0);
  @Cleanup InputStream in = new FileInputStream(args[0]);
  @Cleanup OutputStream out = new FileOutputStream(args[1]);
@Builder:注解在类上;为类提供一个内部的 Builder

自定义配置

虽然 lombok 能为我们快速生成代码, 但是有一些生成的代码依然无法满足我们的需求. 此时可配置 lombok.config 来解决问题,以下列出一些常用的配置

注意: 在 IDEA 中,lombok.config 文件 请放置于 src\main\java 目录下, 在 src\main\resources 中将不生效

lombok.getter.noIsPrefix=true(默认: false) #lombok 默认对 boolean 类型字段生成的 get 方法使用 is 前缀, 通过此配置则使用 get 前缀 lombok.accessors.chain=true(默认: false) #默认的 set 方法返回 void 设置为 true 返回调用对象本身 lombok.accessors.fluent=true(默认: false) #如果设置为 true. get,set 方法将不带 get,set 前缀, 直接以字段名为方法名 lombok.log.fieldName=logger(默认: log) #设置 log 类注解返回的字段名称