我正在尝试使用带有AspectJ支持的Spring AOP来编织带有特定注释的方法。我知道使用切入点@annotation(classname)这样做很容易

但是我需要基于注释的属性创建编织器。有问题的注释是Spring的@RequestMapping,我需要检查它的method属性。

我知道我可以在建议的正文中访问它,但是我真正想要的是为每个匹配的注释创建一个建议。

这可能吗?

最佳答案

doesn't seem to be a way to do it,但是您可以在输入时立即检查注释的参数,如果不满意则立即将其传递。

@Around("execution(public * *(..)) && @annotation(reqMap)")
public Object myMethod(ProceedingJoinPoint pjp, RequestMapping reqMap)
        throws Throwable {
    if (notRightPropertyValue(reqMap))
        return pjp.proceed();
    // Do your stuff here
}


如果这太过优雅,请考虑发明一个额外的注释,以仅标记您真正感兴趣的方法。

10-05 17:56