Lombok使用、解析及原理
标签:开发工具

Lombok解析及原理

官网: Lombok,官网用了一个4分钟左右的视频介绍了Lombok,很棒,通过简单注解来精简代码达到消除冗长带代码的目的。

1. Lombok优点

  1. 提高编码效率
  2. 使代码更简洁
  3. 消除冗长代码
  4. 避免修改字段名字时忘记修改方法名

2. Lombok原理

支持JSR 269 Pluggable Annotation Processing API(可插入的注解过程接口),Javac从Java6开始支持 “JSR 269 API”规范,只要程序实现了该API,就能在Javac运行的时候得到调用。

Lombok实现了 “JSR 269 API”,在编译时,Javac编译源码的流程如下:

首先Javac对Java源代码解析(Parse),生成一棵抽象语法树AST, 然后调用了实现了JSR 269规范的 Lombok Annotation Processor,对原来的AST进行处理,Lombok Annotation Handler负责找到相关的类,然后修改语法树,然后再对抽象语法树进行解析和生成,最后得到字节码文件。

3. 安装Lombok

Maven添加依赖:

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

安装idea插件(Lombok Plugin):

4. 使用Lombok

支持的注解:

5. 注意点

6. 反编译

通过工具: jd-gui查看

  • 3 min read

CONTRIBUTORS


  • 3 min read