【发布时间】:2012-05-30 10:55:14
【问题描述】:
我有一个名为@Invisible 的自定义注解。 现在我想匹配所有调用一个没有@Invisible Annotation 的方法。我怎样才能做到这一点? (有注解风格开发)
我的第一次尝试是:
@Pointcut("execution(!@my.package.Invisible * some.other.package.execute(..))")
但这似乎不起作用...
换句话说:如果该方法有 Invisible 注释,我想忽略它。否则我想根据我的建议执行一些代码......
【问题讨论】:
-
你对这堂课之前有什么建议吗?换句话说,该类是否已被代理,可能会丢失注释? AFAIK 语法本身有效。
-
试试
execution(* some.other.package.execute(..)) && !@annotation(my.package.Invisible) -
@KonstantinV.Salikhov 根据annotation pointcut notebook,您应该能够将其组合成一个表达式,但值得一试。
-
非常感谢 :) @KonstantinV.Salikhov 的建议有效 :)
-
@KonstantinV.Salikhov:想发布一个答案供 user1291235 之后接受吗?
标签: java annotations aspectj pointcut