작성
·
350
2
안녕하세요!
강의에서 preHandle 메소드에서 Object handler를 파라미터로 받아서, HandlerMethod 타입인지 확인후에 HandlerMethod 로 캐스팅하여 여러가지 핸들러에 대한 정보를 읽어올 수 있다고 하셨는데요!
제가 궁금한건 스프링MVC1편 강의에서 핸들러라 하면, 그... 결국에 @RequestMapping 을 사용하는 사용자가 정의한 컨트롤러 객체 아닌가요?
저 메소드의 인자로 받은 handler는 핸들러 어댑터가 실행하는 컨트롤러 객체가 아니라 다른 객체인건가요?
왜냐하면 저기서는 HandlerMethod 타입으로 캐스팅하는데 이게 컨트롤러 객체이면 타입이 HandlerMethod가 될 수 없을것 같아서 궁금하여 질문드립니다!
정리하면 파라미터로 넘어온 handler가 @RequestMapping을 사용하는 컨트롤러 객체라면 어떻게 HandlerMethod 타입으로 캐스팅이 될 수 있는지? 궁금합니다.
감사합니다!
답변 1
2
안녕하세요. 연어포케님
MVC1에서는 크게 구조적인 내용을 설명드리고, 클래스 단위로 설명을 드렸습니다.
스프링의 @RequestMapping은 잘 생각해보면 클래스 단위가 아니라 메서드 단위로 동작합니다.
각각의 메서드에 요청 매핑을 할 수 있으니까요^^!
그래서 스프링도 메서드 단위로 처리할 수 있도록 이 부분을 HandlerMethod로 만들었다고 이해하시면 됩니다.
감사합니다^^