인프런 커뮤니티 질문&답변

유재선님의 프로필 이미지
유재선

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

@Controller, @RequestMapping 관련 질문 드립니다.

해결된 질문

작성

·

124

1

강의 정말 잘 듣고 있습니다. 감사합니다.

섹션5. Spring MVC-시작하기를 보고 제 나름의 정리를 해봤는데 올바르게 이했는지 모르겠습니다.

정리한 내용은 다음과 같습니다.

- @Controller 에너테이션이 붙은 클래스의 @RequestMapping 어노테이션이 붙은 메소드가 핸들러(HandlerExecutionChain안의 Object 타입)의 실행 메소드가 된다.

- RequestMappingHandlerMapping에 key : @RequestMapping의 URL, value : 메소드를 실행할 객체 로 추가된다.

- RequestMappingHandlerMapping에서 URL과 매핑되는 객체(value로 추가된 객체)를 찾는다.

- ReqeustMappingHandlerAdapter를 통해 핸들러의 메소드를 실행하고 ModelAndView를 반환한다.

그렇게 생각했을 때 @Controller 에너테이션이 붙은 클래스에서만

RequestMappingHandlerMapping에 핸들러를 추가 / 조회하고

RequestMappingHandlerAdapter를 찾을 수 있는 권한이 있는건가요?

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 재선님

맞습니다. 추가로 RequestMapping 이름에서 알 수 있듯이 사실은 클래스 레벨에 @RequestMapping이 붙은 객체를 찾습니다. 그런데 편의상 @Controller가 클래스 레벨에 붙은 객체도 함께 찾아서 적용합니다.

감사합니다.

유재선님의 프로필 이미지
유재선

작성한 질문수

질문하기