前言
注解处理器
自定义处理器
前言
Java中的注解(Annotation)如果要被识别,离不开注解处理器。所以有必要来了解一下。
注解处理器
注解处理器(Annotation Processor)是javac的一个工具,不管是运行时注解还是编译时注解,都会通过处理器在编译时进行扫描和处理注解。
Java中有默认的注解处理器,使用者也可以自定义注解处理器,注册后使用注解处理器处理注解,最终达到注解本身起到的效果。
注解处理器将标记了注解的类,变量等作为输入内容,经过注解处理器处理,生成想要生成的java代码。所以处理器可以理解为就是一个生成代码的工具,只是是通过注解的规则生成。生成后的代码,可以看作是同一般代码,最终被编译。
自定义处理器
创建工程
自定义处理器需要创建java 库java- Library(自行创建)
添加依赖
implementation ‘com.google.auto.service:auto-service:1.0-rc3’
implementation ‘com.google.auto:auto-common:0.8’
创建自定义Processor类 如创建MyProcessor
MyProcessor继承 AbstractProcessor 添加@AutoService(Processor.class)注解
如:
@AutoService(Processor.class)
public class PermissionProcessor extends AbstractProcessor {