一文读懂Lombok原理( 三 )

 
定义使用注解的类(测试类)上面的两个类就是基本的工具类了,一个是定义了注解,一个是定义了注解处理器,接下来我们来定义一个测试类(TestAno.java) 。我们在类上面加上我们自定的注解类 。
@MyGetterpublic class TestAno {public static void main(String[] args) {System.out.printf("1");}} 
这样我们在编译期就能生成文件了,接下来演示一下在编译时生成文件,此时不要着急直接进行javac编译,MyGetter类是注解类没错,而 MyGetterProcessor是注解类的处理器,那么我们在编译 TestAnoJava文件的时候就会触发处理器 。因此这两个类是无法一起编译的 。
先给大家看一下我的目录结构
aboutjava-- annotion-- MyGetter.java-- MyGetterProcessor.java-- TestAno.java 
所以我们先将注解类和注解处理器类进行编译

javac aboutjava/annotion/MyGett*
 
接下来进行编译我们的测试类,此时在编译时需要加上 processor参数,用来指定相关的注解处理类 。
javac -processor aboutjava.annotion.MyGetterProcessor aboutjava/annotion/TestAno.java
 
大家可以看到动态图中,自动生成了Java文件 。
一文读懂Lombok原理

文章插图
 
总结本篇文章还会有第二篇进行讲解Lombok的原理,如何修改原有类的内容 。本篇作为前置知识,简单的介绍了注解处理器是什么,如何利用注解处理器做一些我们在编译期才能够做的事情 。希望大家能够自己在本机上试验一下,如果本篇有任何问题欢迎指出 。




推荐阅读