定义使用注解的类(测试类)上面的两个类就是基本的工具类了,一个是定义了注解,一个是定义了注解处理器,接下来我们来定义一个测试类(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的原理,如何修改原有类的内容 。本篇作为前置知识,简单的介绍了注解处理器是什么,如何利用注解处理器做一些我们在编译期才能够做的事情 。希望大家能够自己在本机上试验一下,如果本篇有任何问题欢迎指出 。
推荐阅读
- 一文搞懂HTTP协议的核心知识点
- 一文玩转dockerfile
- 个人交社保、单位交社保,差别到底在哪里?一文读懂
- 一文搞懂交换基础知识
- 一文读懂常用开源许可证
- 抽水马桶是如何工作的?一文看懂虹吸原理
- 一文讲弄懂什么是vlan、三层交换机、网关、子网掩码
- 一文教您如何实现持续集成服务器环境搭建
- 一文搞定MySQL性能调优
- 一文了解神经网络工作原理
