Idea 调试注解处理器Processor
平时接触到的注解主要有两种:
编译时注解:通过注解在编译期动态处理一些逻辑。例如:Lombok的
@Data
、@Builder
、@Slf4j
等。运行时注解:通过反射在运行时动态处理一些逻辑。例如:Spring的
@Component
、@Service
、@Repository
等。
编译期注解一般都是自动生成代码,解放一些重复的工作,例如@Data
自动生成构造方法和getter/setter方法。
编译期注解处理器Processor
是编译时注解的核心,通过Processor
可以动态处理一些编译时逻辑,它是注解处理器的接口类,AnnotationProcessor
是Processor
的一个抽象类,它已经实现了大部分的流程,我们只需要实现process
方法即可方便的定义注解处理器。
自定义编译时注解处理器
自定义注解Processor可以查看:自定义编译时注解处理器
Idea调试注解处理器
- 添加Remote Debugger
在IDEA中添加Remote Debugger,端口为8000,位置在Run>Edit Configurations
- 编译
在终端使用mvnDebug clean compile
命令编译项目,编译会显示监听端口8000。
sh
$ mvnDebug clean compile
Listening for transport dt_socket at address: 8000
- 调试
添加断点,启动之前添加的Remote,使用dubug运行即可调试。