미니옵빠의 code stubs
Spring 3.1 에서 Interceptor 내 전달되는 Object handler 타입 확인 본문
Spring 3.1 부터는 Interceptor 내 전달되는 Object handler 의 타입이 해당 인스턴스의 타입이 아니라 HandlerMethod instance 로 전달됨
그래서 prehandle 내
if (handler instanceof XXXAware) {
}
와 같이 기존 3.0 까지에서 전달된 객체의 타입을 비교하던 구문은 정상 동작하지 않고
해당 부분은 HandlerMethod 로 캐스팅 후 getBean() 으로 객체를 얻어 타입을 비교하도록 수정해야 한다.
참고:
http://docs.spring.io/spring/docs/3.1.x/spring-framework-reference/html/mvc.html#mvc-handlermapping-interceptor
http://stackoverflow.com/questions/8545204/how-to-set-objects-on-spring-3-1-mvc-controller-from-an-interceptor