AspectJ 可以模擬介面及其方法的註解繼承嗎?
Java 註解繼承受到限制,在介面、方法或方法上定義註解註解不是透過實作類別、重寫方法或使用註解的註解的類別繼承的。此限制適用於在 JVM 約束下執行的 AspectJ。
解決方案:在特定情況下模擬註解繼承
雖然註解繼承的通用解決方案不可用,但有一種解決方法特定介面或方法存在:
<code class="java">public aspect MarkerAnnotationInheritor { // Implementing classes inherit the marker annotation declare @type: MyInterface+ : @Marker; // Overriding 'two' method inherits the annotation declare @method : void MyInterface+.two() : @Marker; }</code>
實作:
結果:
控制台立即登入列印:
execution(de.scrum_master.app.Application()) execution(void de.scrum_master.app.Application.two())
。 >方面可以嵌入到介面中,將實現合併到一個位置。將檔案重新命名為
以上是AspectJ能否實作介面及其方法的註解繼承?的詳細內容。更多資訊請關注PHP中文網其他相關文章!