簡體   English   中英

是否可以使用Java中的一組注釋創建自定義注釋?

[英]Is it possible to create a custom annotation with a group of annotations in Java?

我在我的系統中使用了lombok和JPA。 所以對於實體類,它們看起來像:

@Getter
@Setter
@Entity
@NoArgsConstructor
@AllArgsConstructor
public class XxxEntity {
    ...
}

所以我的問題是,我可以創建一個自定義注釋來分組這些所有這些注釋嗎?

所以它可能看起來像:

@CustomAnnotation
public class XxxEntity {
    ...
}

當我使用@CustomAnnotation時,它會將所有上述注釋應用於該類。

這可能嗎?

謝謝。

不,這是不可能的。 您可以使用新注釋將注釋混合在一起,但注釋處理器將無法理解它。 Spring中的@Caching注釋只是注釋處理器已知注釋的一個示例。 如果你通過復制@Caching創建一個自己的注釋,我敢打賭你會發現它不起作用。

從理論上講,它可以作為注釋處理器讀取任何注釋並查看內部。 但是,完全不清楚如何處理未知的注釋。 在其中放入其他注釋沒有標准化的含義。

特別是,這對龍目島不起作用。 有一些問題需要這個,例如, 這里 ,但它非常復雜。

最終的解決方案是注釋預處理器理解復合注釋,並在普通注釋處理器運行之前用它們的成分替換它們。 但是沒有這樣的事情和AFAIK沒有計划。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM