2011-01-25 54 views
1

Hibernate Search,Hibernate,Struts2 ...我看到更多的例子...在同樣的例子中,我看到了字段上的註釋..其他的get/set方法..有區別嗎?或者是休閒..Java註釋:屬性還是方法?有什麼區別

我希望這不是一個愚蠢的問題!

Saluti!

路易吉

+0

註釋去註釋它的字段,方法,類,構造函數,參數。它就像它可以在運行時使用的註釋一樣。你可以評論任何你想要的。你註釋了大多數事情。它的框架決定如何處理您所放置的信息。 – 2011-01-25 21:31:36

回答

3

差異取決於標註以及如何使用它。例如,在Spring中,只能在類上使用@Controller註釋。這告訴Spring,這個類是一個控制器。

就方法而言,@RequestMapping是進行方法的註釋。對於屬性,您可以使用驗證註釋,如@NotNull(在Hibernate驗證器中)。

註解絕對不是隨便的;它們帶有含義並會影響代碼的行爲方式。

Java documentation關於註釋:

註解提供有關 程序,它是不是 程序本身的一部分數據。他們沒有直接 影響他們註釋的代碼 的操作。

註釋有許多用途,其中 :

  • 編譯器的信息 - 註釋可以由 編譯器可以用來檢測錯誤或取消 警告。

  • 編譯時和部署時的處理 - 軟件工具可以 流程標記信息 生成代碼,XML文件等 等等。

  • 運行時處理 - 在運行時檢查一些註釋可用於 。

註釋可以被應用到類, 字段,方法,以及其它程序 元件 程序的聲明。

當您定義自己的註釋時,您可以通過指定元素(使用@Target註釋)來指定註釋可以註釋的內容。

+0

我的問題誕生了,使用Hibernate搜索。我看到了註解,有時是在方法上,有時在現場。我的同事說這個「公約」是關於這個方法的......但我不確定這個...... – 2011-01-25 22:06:18

0

這實際上取決於解釋註釋的代碼。它當然可以有所作爲,但是你所談論的註釋可能意味着註釋一個「屬性」,這在技術上不存在於Java中

Java具有字段和方法,但是它們用於模擬「Java Bean」約定下的屬性,即您有一個公共setX()getX()方法,經常(但不總是)寫和讀私人字段x。它們通過命名條件綁定在一起,而不是語言機制。因此,大多數使用此類屬性註釋的框架(例如,用於持久性映射或依賴注入)是靈活的,並且允許您註釋字段或get或set方法。

相關問題