2013-09-25 55 views
0

這可能是一個奇怪的請求,但是有沒有辦法在方法本身中訪問Spring註釋屬性。訪問方法中的彈簧註釋屬性

在下面的例子中,可以將「user.success」定義爲一個常量,並在Annotation和方法中使用它,但我真的很喜歡使用在我的註釋(@MySecurity)中定義的whats。

我想一個辦法就是獲取使用AnnotationUtils的執行方法的句柄。有沒有更好的更優雅的方式來做到這一點?

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

回答

1

不,沒有反思是不可能的。即使如此,你需要知道方法的名稱。在其中執行代碼並不會告訴你(除了堆棧跟蹤,但不要去那個路徑)。老實說,這個註釋應該被HandlerInterceptor(有HandlerMethod的地方可以訪問註解)或者某種BeanPostProcessor使用。

+0

謝謝Sotirios我已經使用HandlerInterceptor這些註釋,但想知道如果我可以在方法中使用..乾杯 – user1828324