Lombok使用
Lombok 可以通过注解的形式,来帮助我们在开发的时候省略掉一些重复的工作。比如设置 get、set 方法,设置无参构造函数或者全参构造函数。
如果使用的是 IntelliJ IDEA,可以先安装 Lombok Plugin
插件。 最新版已经自带插件可以支持。
然后在项目中引入 jar 文件,如果使用 Maven 构建项目,可以通过在pom.xml
中添加以下代码来引用。
1 | <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> |
引入之后就可以在项目中使用 Lombok 了。
注解
@val
可以用val
来声明一个final
变量,Lombok 会自动推测出变量类型,并且是不可更改的。
@NonNull
在参数前面加上 @NonNull 可以不用考虑变量为空的情况,不会抛出异常。类似于 Javascript 中的?.
@Cleanup
在资源变量声明前加上该注解,则使用完毕后不用显示调用 close 方法或者在 finally 块中关闭。
@Getter / @Setter
在变量前加上该注解,不用手动书写 get 或 set 方法,Lombok 编译时自动添加。
@ToString
在变量前加上该注解,自动重写 toString 方法。
@EqualsAndHashCode
在类前面加上该注解,自动重写 equals 方法和 hashCode 方法。
@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
在类前面加上该注解,自动添加无参数构造函数、指定参数构造函数和全参数构造函数。
@Data
在类前面加上该注解,自动添加变量的 get、set 方法。重写 equals、hashCode 和 toString 方法。
@Value
在类前面加上该注解,自动将变量变为不可变变量并添加 get 方法和构造函数等。
@Builder
在类前面加上该注解,只用声明变量,自动生成各种访问的 API。
@SneakyThrows
在方法前面加上该注解,自动捕获异常并抛出。
@Synchronized
在方法前面加上该注解,自动添加同步块。
@Getter(lazy=true)
在变量前面加上该注解,可以防止多次求相同值,并且在多个请求时只做一次求值。
@Log
省去声明 log 变量的麻烦,以下注解等价于后面的声明。
1 |
|