使用@AspectJ 代码风格模拟注解继承

Emulate annnotation inheritance with @AspectJ code style

如您所知,使用 AspectJ 5 可以在 *.java 文件中编写切面。 IE。: public aspect Aspects {}现在可以写成:@Aspect public class Aspects {}.

有什么方法可以在Java文件中写入下面的代码吗?代码:

public aspect AnnotationInheritor { 
    declare @method : void ItemRepository+.getById(..) : @MyAnnotation;
}

P.S。我发现 @DeclareAnnotation 出现在 1.5.3 版本,但看起来还没有实现。

@DeclareAnnotation("void ItemRepository+.getById(..)")
@MyAnnotation void inEmptyListMethod() {}

不行,到今天还没有办法。即使有,您仍然需要 AspectJ 编译器或加载时编织代理才能使其工作。使用笨重的注释语法将所有内容都放在一个字符串中有什么好处? IMO 本机语法更加清晰和优雅。如果您想使用 AspectJ,请学习它的语法。 ;-)