自定义注释处理
我需要有关 java 自定义注释的帮助,我知道如何创建注释,但我不知道如何处理它。
我浏览了一些信息,我看到 APT 是 com.sun.mirror.*
和另一个 javax.annotation.processing.*
,我对两者感到困惑。
任何人都可以指导我处理自定义注释并提供有用的链接。
I need a help on java custom annotations, I know how to create annotations but I do not know how to process that.
I have gone through some information where I saw APT which is com.sun.mirror.*
and another javax.annotation.processing.*
, I got confused between two.
Can any one please guide me to process custom annotations and provide useful link.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
旧的 apt(注释处理工具,位于 com.sun.mirror 中)与其后继者可插入注释 API 之间存在差异(从 1.6 开始它是 javac 的一部分)。
用于处理的新 API 位于 javax.annotation.processing 中。
用于分析源代码声明元素的API是Mirror API,它的封装在
javax.lang.model
中,该API与Reflection API有相似之处。许多来源可能会谈论 apt,但对于 javac 中的处理器工具仍然有效。只是软件包和运行处理工具的方式发生了变化。
这是一个教程。
There is a difference between the old apt (annotation processing tool, in
com.sun.mirror
) and its successor, the Pluggable Annotation API (which is a part of javac since 1.6).The new API used for processing is in
javax.annotation.processing
.The API used for analysing declaration elements of the source code is the Mirror API, its package is in
javax.lang.model
, that API has similarities with the Reflection API.Many sources will probably talk about apt, but are still valid for the processor tool in javac. Just the packages and the way to run the processing tool have changed.
Here is a tutorial.
如果您需要在编译时/之前处理注释(即生成“副文件”),请使用 apt。
OTOH,如果您需要在运行时处理注释,那么只需 使用 java 反射来获取特定的注释类。
If you need to process annotations at/before compile time (i.e. for producing "side files") then use apt.
OTOH if you need to process annotations at runtime then just use java reflection to get annotation on particular class.