新建过注解的同学肯定知道
java.lang.annotation.RetentionPolicy#SOURCE
,而AbstractProcessor就是配合源码期保留的注解来进行一些列工作的。
编写一个源码期注解
实现自己的AbstractProcessor类
- 继承抽象类AbstractProcessor
- 指定AbstractProcessor所支持的注解类型
- 实现抽象方法process
- 可以使用javax.annotation.processing.ProcessingEnvironment,为父类的属性,访问权限为子类可见。
修改pom文件
- 指定编译期不执行任何AbstractProcessor,否则会出现问题
- 主要代码
-proc:none
增加SPI配置
- 增加SPI实现,接口为
javax.annotation.processing.Processor
,实现类为org.eddy.AbstractProcessorImpl