我需要的是一种方法:
public boolean matches(AspectJExpressionPointcut, ProceedingJoinPoint);
我发现了AspectJExpressionPointcut matches(Method, Class)
的方法,看起来它可以做到这一点,并且在大多数情况下它似乎正确地做到了。除了匹配bean切入点(<pointcut expression="bean(beanName)" .../>
)时。首先,它返回true,即使joinPoint与bean定义无关。我没有测试它应该匹配时会发生什么。
所以也许我应该退后一步。我想要做的是这样的: 如果当前调用与切入点列表的子集匹配,则调用基于多个切入点的建议,执行其他任务,否则只需继续正常建议。