我正在尝试使用带有AspectJ支持的Spring AOP来编织具有特定注释的方法。我知道通过使用切入点@annotation(classname)
可以很容易地做到这一点但我需要根据注释的属性创建编织器。有问题的注释是Spring的@RequestMapping,我需要检查它的方法属性。
我知道我可以在建议的主体内部访问它,但我真正想要的是为每个匹配的注释创建一个建议。
这可能吗?
答案 0 :(得分:1)
有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
}
如果这太不优雅,可以考虑发明一个额外的注释来标记你真正感兴趣的方法。