lombok

maven
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.8</version>
    <scope>provided</scope>
</dependency>
gradle
// https://mvnrepository.com/artifact/org.projectlombok/lombok
providedCompile group: 'org.projectlombok', name: 'lombok', version: '1.18.8'
idea 插件

如果安装了插件之后还不可以,需要设置annotation processing


因为 Lombok 不是通过字节码改写来实现的,它主要是用编译器内支持的annotation processing,直接操纵抽象语法树(AST),根据需要添加新节点。
java编译概述:http://openjdk.java.net/groups/compiler/doc/compilation-overview/index.html

几个常用的 lombok 注解:

@Data:注解在类上;提供类所有属性的 getting 和 setting 方法,提供equals、canEqual、hashCode、toString 方法
@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@SneakyThrows:无需在签名处显式抛出异常
@Log4j:注解在类上;为类提供一个 属性名为log 的 log4j 日志对像
@Slf4j: 同上
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法

发表评论

电子邮件地址不会被公开。 必填项已用*标注