我在Spring 4.2项目中有很多类。 我想用@Xyz注释注释所有这些注释。根据AspectJ文档,可以通过
完成declare @type : x.y.z.* : @Xyz;
指令。 但我不知道在哪里放置它。
答案 0 :(得分:2)
我在我身边做了一些测试,经过一番努力,我找到了具体的实施方案。遗憾的是,@DeclareAnnotation
存在但未实施。
我们可以在这里看到它。 https://github.com/eclipse/org.aspectj/blob/V1_8_9/docs/adk15ProgGuideDB/ataspectj.xml#L1017
我认为它的实现会在版本1.5.3中出现注释。我的坏。
原始答案(不起作用,AspectJ v1.8.9)。
首先,您需要在配置中启用AspectJ。例如,Java配置:
@Configuration
@EnableAspectJAutoProxy
public class AopConfiguration {}
然后使用@DeclareAnnotation
注释创建一个新方面:
@Aspect
public class XyzAspect {
@DeclareAnnotation("x.y.z.*")
@Xyz class XyzClass {}
@DeclareAnnotation("x.y.z.MyClass.*(..)")
@Xyz void xyzMethod() {}
}