0

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

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

我猜一种方法是获取执行方法的句柄以使用 AnnotationUtils。有没有更好更优雅的方式来做到这一点?

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

1 回答 1

1

不,没有反思是不可能的。即使这样,您也需要知道方法的名称。在其中执行代码不会告诉您(堆栈跟踪除外,但不要走那条路)。老实说,注释应该由 a HandlerInterceptorHandlerMethod您可以访问注释的地方)或某种BeanPostProcessor.

于 2013-09-26T01:04:44.963 回答