这可能是一个奇怪的请求,但是有一种方法可以在方法本身中访问Spring注释属性。
在下面的示例中,可以定义" user.success"作为常量并在Annotation和方法中使用它,但我真的想使用我的注释中定义的最新内容(@MySecurity)。
我猜测的一种方法是获取执行方法的句柄以使用AnnotationUtils。这样做有更好的方式吗?
@MySecurity(action="user.success")
@RequestMapping("/userSuccess.htm")
public String redirect()
{
// Code here to access @MySecurity Annotation
return "userSuccess";
}
答案 0 :(得分:1)
不,没有反思就不可能。即便如此,您还需要知道方法的名称。在其中执行代码并不会告诉您(堆栈跟踪除外但不执行该路径)。老实说,注释应该由HandlerInterceptor
(使用HandlerMethod
,您可以访问注释)或某种BeanPostProcessor
使用。