我正在尝试使用带有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
}
如果这太过优雅,请考虑发明一个额外的注释,以仅标记您真正感兴趣的方法。