使用Maven运行注解处理器

1、注解处理器介绍      

       注解处理器其实全称叫Pluggable Annotation Processing API,插入式注解处理器,它是对JSR269提案的实现。
它是怎么工作的呢?可以参考下图:

1.parse and enter:解析和输入,java编译器这个阶段会把源代码进行词法、语法分析,自动填充符号表,接着解析生成AST(抽象语法分析树);
2.annotation processing:注解处理器阶段,此时将调用注解处理器,这时候可以校验代码,生成新文件等等(处理完可以循环到第一步)
3.analyse and generate:分析和生成,此时前两步完成后,生成字节码(这个阶段进行了解糖,比如类型擦除)
 

2、代码实现(以下代码参考《深入理解Java虚拟机:JVM高级特性与最佳实践》)

2.1 新建一个工程

pom.xml添加内容如下:

2.2 新建一个注解处理器类,继承AbstractProcessor并且实现process方法

     1.@SupportedAnnotationTypes:表示这个processor类要对什么注解生效
     2.@SupportedSourceVersion:表示支持的java版本
     3.annotations:被要求的注解,就是@SupportedAnnotationTypes对应的注解
     4.roundEnv:存放着当前和上一轮processing的环境信息
     5.TypeSpec这个可能有点没看懂是干嘛的,它是javaPoet中的一个类,javaPoet是java用于生成java文件的一款第三方插件很好         用,所以这里使用了这个类来生成java文件,实际上这里用java自带的PrintWriter等输入输出流也可以生成java文件,生成文件         有很多方式.javaPoet的链接.javaPoet使用指南.
     6.Messager是用来打印输出信息的,System.out.println其实也可以;
     7.process如果返回是true后续的注解处理器就不会再处理这个注解,如果是false,在下一轮processing中,其他注解处理器也会来处理改注解.

2.3 指定processor,META-INF/services/javax.annotation.processing.Processor 写好 

com.*.*.NameCheckProcessor

3、使用注解处理器工程

3.1 pom.xml添加内容,先引入注解处理工程

3.2 执行mvn compile,控制台输出不符合规范的内容

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值