【发布时间】:2011-08-24 08:40:06
【问题描述】:
我需要有关 java 自定义注解的帮助,我知道如何创建注解,但我不知道如何处理它。
我浏览了一些信息,我看到 APT 是 com.sun.mirror.* 和另一个 javax.annotation.processing.*,我在两者之间感到困惑。
谁能指导我处理自定义注释并提供有用的链接。
【问题讨论】:
标签: java annotations processor
我需要有关 java 自定义注解的帮助,我知道如何创建注解,但我不知道如何处理它。
我浏览了一些信息,我看到 APT 是 com.sun.mirror.* 和另一个 javax.annotation.processing.*,我在两者之间感到困惑。
谁能指导我处理自定义注释并提供有用的链接。
【问题讨论】:
标签: java annotations processor
旧的apt(注解处理工具,com.sun.mirror)和它的后继者Pluggable Annotation API(它是javac 从 1.6 开始)。
用于处理的新 API 位于 javax.annotation.processing。
用于分析源代码声明元素的API是Mirror API,它的包在javax.lang.model,该API与Reflection API有相似之处。
许多来源可能会谈论 apt,但仍然适用于 javac 中的处理器工具。只是软件包和运行处理工具的方式发生了变化。 Here is a tutorial.
【讨论】:
如果您需要在编译时/之前处理注释(即用于生成“边文件”),请使用apt。
OTOH,如果您需要在运行时处理注释,那么只需 use java reflection to get annotation on particular class。
【讨论】: