使用注解生成代码

三、过注解处理器生成源代码

从一开始讨论到现在,注解处理器无疑是一种定义元模型和创建模型的优秀方法。注解类型扮演的是元模型角色,而一段代码块中所有注解的集合扮演的则是一个模型的角色。

我们可以利用模型来生成配置文件或者从一个已存在的源文件中派生出一个新的源文件。例如,创建一个远程代理,或者为被注解的bean创建一个可访问内部数据的入口对象。

这种方法的核心在于注解处理器。一个处理器能够读取源代码中的所有注解——也就是提取模型,并且通过它能够做任何我们想要做的事情——打开文件并添加内容等。Java编译器会处理好模型验证的问题(注解必须匹配在注解处理器中注册的类型)。