2017-10-29 123 views

回答

0

從技術上講,沒有任何東西阻止你這樣做。你可以在你想要的任何類中使用這個(幾乎所有其他的)註釋。當然,如果註釋可以應用於該類型的Java元素(方法,字段,類)。註釋本身不會在您的代碼中帶來任何邏輯或魔力。你自己檢查the source:你會發現他們中的大部分都是數據持有者。

如果沒有處理器,註釋是沒有的。處理可以發生在編譯時間運行時間

編譯時註解處理可以在編譯之前更改源代碼(這裏簡化了一些東西)。它可以引入額外的行爲(如空檢查)或生成方法(如Lombok's @Getter/@Setter。編譯時註釋通常會在處理後被刪除,但它們不會在運行時出現

您詢問的註釋是不同種類的 - 顯然,資源注入或角色檢查不能在編譯時完成,因此它們也需要一個處理器才能生效,但該處理器必須存在於正在運行的應用程序的類路徑中。通過環境你運行你的應用程序。在你的情況下,這些是Java EE註釋,他們需要Java EE兼容應用程序服務器工作。只有當你在一個配置的應用程序服務器中運行你的類,像Glassfish或WebSpere。如果你在Tomcat或Jetty上運行應用程序(它們是網絡服務器) - 註解將不起作用,它們將被「省略」,因爲不存在處理它們的處理器。

+0

謝謝你的解釋關於註釋的簡要 – manoj

相關問題