在方法中访问spring注释属性

时间:2013-09-25 21:53:44

标签: java spring-mvc annotations

这可能是一个奇怪的请求,但是有一种方法可以在方法本身中访问Spring注释属性。

在下面的示例中,可以定义" user.success"作为常量并在Annotation和方法中使用它,但我真的想使用我的注释中定义的最新内容(@MySecurity)。

我猜测的一种方法是获取执行方法的句柄以使用AnnotationUtils。这样做有更好的方式吗?

 @MySecurity(action="user.success")
 @RequestMapping("/userSuccess.htm")
 public String redirect()
 {
    // Code here to access @MySecurity Annotation
    return "userSuccess";
 }

1 个答案:

答案 0 :(得分:1)

不,没有反思就不可能。即便如此,您还需要知道方法的名称。在其中执行代码并不会告诉您(堆栈跟踪除外但不执行该路径)。老实说,注释应该由HandlerInterceptor(使用HandlerMethod,您可以访问注释)或某种BeanPostProcessor使用。