使用@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,请学习它的语法。 ;-)
如您所知,使用 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,请学习它的语法。 ;-)