2011-04-18 100 views
1

有人可以描述使用注释处理
我最后一次理解注释的尝试未成功。了解Java中的注释处理

以前我贴this question,但无法得到满意的答案。
我经历了许多在线教程去,但其中大部分是关于用于注释:

  1. 文档
  2. 注解编译器使用(@Deprecated@Override@SuppressWarnings
  3. 注释处理(@Target@Retention

请有人解释我注释处理通过指导我适当的教程。

非常精确我想知道更多有关下列 元注释(Java注释类型):

  • 目标
  • 保留
  • 记录在案
  • 继承

我已经通过了很多导师如this,但无法获得关于Annotation Processing的更多信息。

+0

注解处理非常模糊。你想要什么信息?运行时处理?编译时处理?特定于Hibernate的注释? – Mat 2011-04-18 05:58:38

+0

@Mat ....你可以请直接给我的链接,可以给我关于@Test和@Retention类型注释在休眠 – 2011-04-18 06:01:43

+0

上下文中使用的信息那些不是Hibernate注释。他们是核心的Java。这里的教程:http://download.oracle.com/javase/6/docs/technotes/guides/language/annotations.html – Mat 2011-04-18 06:07:42

回答

2

被问到的注释是用于批注注释的批注。其具体用途如下:

  • Target:指定您可以在哪里使用注释。例如。 @Target(ElementType.METHOD)表示注释只能用于方法。

  • Retention:指定注释可用的位置/时间。 @Retention(RetentionPolicy.RUNTIME)表示它在运行时使用反射。其他值使它只在类文件ORAT编译时(首先提到的选项包括后来的选项)

  • Documented这个注释的注释会在Javadoc apear
  • Inherited让子类继承其超类
  • 的annoteted注释

对于所有四个javadoc都相当有帮助。

+0

谢谢Jens Schauder – 2011-04-18 11:41:25

3

@Anupam Gupta - 我认为你的问题在于你对基本/核心Java没有足够的了解,无法理解注释和注释处理是如何工作的。例如,您不明白“运行时反射式”的含义表明您不熟悉Java反射,这是核心Java的重要组成部分。

注释处理是一个高级话题,实际上超出了Java教程流的范围。


对于什么是值得的,注释文档hereherehere,你也许可以通过在Oracle annotations forum读消息得到更多的线索。

+0

谢谢斯蒂芬......你是对的我的Java核心理解处于初级阶段,我仍处于学习阶段,但我相信你们都必须通过这个学习阶段......我只是阅读并学习了反思......现在可以请你帮我解释注释......如果没有教程,然后指导我如何获得关于注释的知识。 – 2011-04-18 08:56:25

+0

@Anupam Gupta - 我不认为我可以向你解释这一点。基本上,您需要阅读自己的注释文档。但说实话,我认为你在浪费你的时间。 – 2011-04-18 10:35:50