我正在使用 AspectJ 注释,出于某种原因,命名切入点与匿名切入点的切入点解析范围似乎不同。
例如,在下面的代码中,如果匿名则解析相同的切入点,但命名时则不会。但是,如果我使用通配符而不是特定类型,则命名的切入点将匹配。
有什么想法吗?
import some_other_package.not_the_one_where_this_aspect_is.Account;
@Aspect
public class MyClass {
//this does not match... but matches if Account is replaced by *
@Pointcut("execution(* Account.withdraw(..)) && args(amount)")
public void withdr(double amount){}
@Before("withdr(amount)")
public void dosomething1(double amount){}
//this matches
@Before("execution(* Account.withdraw(..)) && args(amount)")
public void dosomthing2(double amount){}
}