Spring 设置@Pointcut的表达式

Spring 设置@Pointcut的表达式,spring,Spring,我想为类设置注释,当我调用该类对象的任何方法时,在执行方法之前执行拦截器 @MyAnn public class SomeClass { public void someMethod1() {} public void someMethod2() {} } @Aspect public class SomeInterceptor { @Pointcut("execution(@my.package.aop.MyAnn* *.*(..))") public v

我想为类设置注释,当我调用该类对象的任何方法时,在执行方法之前执行拦截器

@MyAnn
public class SomeClass {

    public void someMethod1() {}
    public void someMethod2() {}
}

@Aspect
public class SomeInterceptor {

    @Pointcut("execution(@my.package.aop.MyAnn* *.*(..))")
    public void checkMethod() {}

    @Around("checkMethod()")
    public Object method(ProceedingJoinPoint joinPoint) throws Throwable {

    }
}
在@Pointcut(…)中应该设置什么表达式,使我的类的所有方法在执行之前都处理了拦截器?

找到了一个解决方案

@Pointcut("execution(public * *(..))")
private void anyPublicOperation() {}

@Pointcut("within(@my.package.aop.MyAnn *)")
private void withinMyAnn() {}

@Pointcut("anyPublicOperation() && withinMyAnn()")
public void checkMethod() {}
如果有一个更成功的解决方案,我很乐意在评论中看到