APT annotation processor tool
用过butterknife的同学会发现,使用butterknife我们可以省去平时重复书写的findViewById之类的代码,通过注解的方式即可实现。而早期的butterknife使用的注解是运行时注解,即运行时通过注解然后使用反射实现,存在一定的性能问题,后面作者做了改进,使用编译时注解,编译期间,在注解处理器中对注解进行处理生成相应代码。
JavaPoet:A Java API for generating .java source files.
https://github.com/square/javapoet
![](https://i-blog.csdnimg.cn/blog_migrate/bfc8233d430aaf11540f0d3d468d2834.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f72f442779f7a5c03355e776e9f96fc1.png)
JavaPoet字符串格式化