由于项目中有@Slf4j 注解等,而eclipse需要安装lombok插件才能正常编译。由于之前对lombok 一片空白,查了多个帖子,详细总结了一下在window下eclipse安装lombok。
什么是Lombok?
为什么要使用Lombok?
- 下载 lombok.jar
(https://projectlombok.org/download.html) - 将 lombok.jar 放在eclipse安装目录下,和 eclipse.ini 文件平级的。
-
运行lombok.jar
在lombok.jar 的目录下,运行:java -jar lombok.jar
a. 运行后会弹框如下框,直接点确定
b. 点specify location 按钮,选择eclipse的安装目录,选择到eclipse层即可。
按如下图步骤点击install即可
c. 成功后如下图:
黑框框也多了很多log: -
如果想看看是否真的安装成功,可以在 eclipse.ini 中看看,我的环境是多了一行(-javaagent:D:\Program Files\eclipse\lombok.jar)
- 重启eclipse,再clean project。
lombok库提供了一些注解来简化java代码
官网:http://projectlombok.org/
查看lombok所有api:https://projectlombok.org/api/overview-summary.html
几个常用的 lombok 注解:
@Data:注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@SneakyThrows:无需在签名处显式抛出异常
@Log4j:注解在类上;为类提供一个 属性名为log 的 log4j 日志对像
@Slf4j: 同上
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
实现原理:
Lombok不是通过字节码改写来实现的。
它主要是用编译器内支持的annotation processing,直接操纵抽象语法树(AST),根据需要添加新节点。
(讲真的,不太懂,java基础不是太好,这一段来自https://www.jianshu.com/p/d0a68a9b46ae)
使用方法
在pom文件添加
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>