2013-09-25 2 views
0

이것은 이상한 요청 일 수 있지만 메소드 자체에서 스프링 주석 속성에 액세스하는 방법이 있습니다. 하나 아래의 예에서 메소드에서 스프링 주석 속성에 액세스하기

는 상수로 "user.success"를 정의하고 주석 및 방법에서 사용하지만 난 정말 사용처럼 내 주석 (@MySecurity)에 정의 된 것 뭐죠 수 있습니다.

한 가지 방법은 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

관련 문제