1

我有一个类和一个注释

@Retention(RetentionPolicy.RUNTIME)
public @interface AnnotateMethod
{
  public abstract boolean value();
}

class AAA{
@AnnotateMethod(value=true)
void method()
{


}

@AnnotateMethod(value=false)
    void method1()
    {


    }

    void method2()
    {


    }
    }

我想编写一个 aspectj 切入点,它将捕获所有具有 AnnotateMethod 注释且 value=true 的方法。我该怎么做?

4

1 回答 1

0

这应该是您正在寻找的:

@Pointcut("execution(* *(..)) && @annotation(anMethod) && if()")
public static boolean annotatedMethod(final AnnotateMethod anMethod) {
    return anMethod.value();
}

在所有具有注释的方法执行上定义一个切入点,并且在执行建议之前检查所述注释是否具有值 == true。

不能保证立即运行,因为我正在这里处理内存,但它应该很好。;)

于 2013-07-23T07:58:57.080 回答