2011-04-18 150 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