我使用 AspectJ 已经有一段时间了,它在包含注释的对象范围字段上效果很好。我刚刚遇到了一种情况,我想注释一个方法范围的变量,该变量将与我的切入点一起使用,但我遇到了麻烦。
这是我正在使用的切入点。如果我的变量是对象的字段,它可以正常工作,但是如果我将范围缩小到方法(在方法内声明的变量),那么它就不再起作用了,我不知道为什么。让我知道我能做什么,谢谢。
after(final Trigger trigger): set(@Triggereable * *) && args(trigger)
{
System.out.println("trigger flush");
}
另外,这是我想要工作的一个例子。上面的 System.out.println 应该在 Trigger 被实例化时触发:
public void foo()
{
@Triggereable
private Trigger trigger = new Trigger();
}