Lombok简介
lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法啊,构造函数啊之类的,lombok的作用就是为了省去我们手动创建这些代码的麻烦,它能够在我们编译源码的时候自动帮我们生成这些方法。
相关文档 https://projectlombok.org/features/all
github地址 https://github.com/rzwitserloot/lombok
Lombok安装
lombok的安装跟一般引用jar包没有什么区别,可以到官网上下载最新的jar包,然后导入到项目里面就好啦。
1 | <dependency> |
Intellij idea开发的话需要安装Lombok plugin
Lombok使用
几种常用的 lombok 注解:
@NonNull
可以帮助我们避免空指针。
@Cleanup
自动帮我们调用close()方法。
@Getter/@Setter
自动生成Getter/Setter方法
@ToString
生成toString
@EqualsAndHashCode
生成hashCode和equals实现
@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
构造函数定制:生成不带参数的构造函数,每个最终/非空字段一个参数或每个字段一个参数。
@Data
注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Value
不可变类很容易。
@Builder
建造者模式创建对象
@SneakyThrows
对标注的方法进行 try catch 后抛出异常
@Synchronized
在标注的方法内 使用 synchronized
@Log4j
注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
更多详细文档 https://projectlombok.org/features/all