工具技巧

Annotation Processor 实践

2022-02-02  本文已影响0人  山哥Samuel

在上篇文章的实战中,搞了GraalVM编译Java程序,有个需求是自动生成reflect-config.json, 并且生成DynamoBean 的Helper类。这是通过Annotation Processor做的。原来想像Lombok一样改变原类添加方法,但是发现Lombok用了ASM才做到这件事,因为Annotation Processor是不允许你生成一个跟原类名一样的类在同一包名之下。

那么你面临几个选择:

Lombok的扩展也是不难的,有兴趣的同学可以Google一下。而本人考虑到搞自己的lombok发行版比较容易有冲突,而且还要花精力维护(每个新JVM版本出来,Lombok都会去更新,就算不出新JVM版本,也会有更新),还是打算用Annotation Processor。

参考了文章

最终做出了

总结

关于如何去实现,本文就不多叙述了,因为参考文档就很详细,这里想记录一些注意点:

上一篇 下一篇

猜你喜欢

热点阅读