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

침착한치킨다리님의 프로필 이미지
침착한치킨다리

작성한 질문수

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

스프링 MVC - 시작하기

스프링 핸들러매핑, 핸들러 어댑터, 컨트롤러

작성

·

300

0

안녕하세요!

스프링 MVC와 관련하여 궁금한 점이 있습니다.

스스로 만든 프레임워크에서는 다양한 형태의 헨들러를 다루기 위해 핸들러 어댑터 목록과 핸들러 매핑을 도입한 것으로 이해하고 있습니다.

 

스프링 MVC의 경우 99.9% RequestMappingHandlerMapping 과 RequestMappingHandlerAdapter를 쓴다고 강의자료에 나와 있는데요, 그렇다면 사실상 핸들러(컨트롤러)도 하나의 통일 된 형태를 가지고 있는건가요?

 

감사합니다.

답변 1

2

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

안녕하세요. 럭키리님

스프링 MVC는 RequestMappingHandlerMappingRequestMappingHandlerAdapter를 주로 사용합니다. 이는 스프링 MVC가 @RequestMapping 어노테이션을 사용하여 정의된 핸들러(컨트롤러 메소드)를 매핑하고 처리하는 표준 방식입니다. 이러한 구조 덕분에 스프링 MVC는 핸들러 메소드의 선언과 사용을 매우 유연하게 할 수 있습니다.

그렇지만, 이것이 핸들러(컨트롤러)가 오직 하나의 통일된 형태만을 가진다는 것을 의미하지는 않습니다. 스프링 MVC는 다양한 종류의 핸들러 매핑과 어댑터를 지원합니다. 예를 들어, SimpleUrlHandlerMapping, BeanNameUrlHandlerMapping 등 다른 매핑 전략도 제공합니다. 또한, 커스텀 핸들러 매핑과 어댑터를 구현하여 사용할 수도 있습니다.

하지만 실제 개발 과정에서는 RequestMappingHandlerMappingRequestMappingHandlerAdapter가 대부분의 요구 사항을 충족시키므로, 대부분의 경우 이들을 사용하는 것이 일반적입니다. 이러한 방식은 어노테이션 기반의 컨트롤러를 쉽게 작성하고 관리할 수 있게 해주며, 스프링의 다른 기능들과도 잘 통합됩니다.

요약하자면, 스프링 MVC는 다양한 형태의 핸들러를 지원하지만, 실제 개발에서는 RequestMappingHandlerMappingRequestMappingHandlerAdapter를 사용하는 것이 일반적이며, 이를 통해 어노테이션 기반의 컨트롤러를 유연하게 관리할 수 있습니다.

감사합니다.

RequestMappingHandlerMappingRequestMappingHandlerAdapter가 대부분의 요구 사항을 충족시킨다는 게 정말 신기하군요!! 답변해주셔서 감사합니다!

침착한치킨다리님의 프로필 이미지
침착한치킨다리

작성한 질문수

질문하기