我想为类设置注解,当我调用对象的任何方法时,这个类在执行方法之前先执行拦截器。
@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(...)中设置什么表达式我的类的所有方法都在执行之前处理了拦截器吗?
发布于 2018-06-21 21:15:11
找到了解决方案
@Pointcut("execution(public * *(..))")
private void anyPublicOperation() {}
@Pointcut("within(@my.package.aop.MyAnn *)")
private void withinMyAnn() {}
@Pointcut("anyPublicOperation() && withinMyAnn()")
public void checkMethod() {}如果有更成功的解决方案,我将很高兴在评论中看到
https://stackoverflow.com/questions/50948470
复制相似问题