【发布时间】:2017-11-23 15:39:24
【问题描述】:
我正在尝试围绕使用自定义注释进行注释的方法定义切入点。注释有一个参数,我想在切入点定义中包含一个检查。
这是注释:
public @interface MyAnno {
String[] types;
}
如何应用注释的示例:
public class MyClass {
@MyAnno(types={"type1", "type2"})
public void doSomething() {
// ...
}
@MyAnno(types={"type3"})
public void doSomethingElse() {
// ...
}
}
现在我想要两个切入点定义,根据注释的内容选择这两种方法。
在注解本身上创建切入点相对容易:
@Pointcut("@annotation(myAnno)")
public void pointcutAnno(MyAnno myAnno) {
}
@Pointcut("execution(* *(..)) && pointcutAnno(myAnno)")
public void pointcut(MyAnno myAnno) {
}
这将匹配@MyAnno 的每次出现。但是我如何定义两个切入点,一个匹配@MyAnno 与包含"type1" 的types,另一个匹配@MyAnno 与包含types 的types
【问题讨论】:
标签: java annotations aop aspectj