작성
·
186
답변 1
0
안녕하세요. solog152님
영상에서 설명하는 내용은 스프링 MVC에서 핸들러 매핑(HandlerMapping)의 우선순위를 설명하는 것입니다. 핸들러 매핑은 들어오는 요청(request)을 처리할 적절한 컨트롤러(Controller)를 찾는 역할을 합니다.
@RequestMapping
: 이 애노테이션은 메서드 레벨 또는 클래스 레벨에 사용되어 해당 메서드 또는 클래스가 처리할 URL 패턴을 지정합니다. 핸들러 매핑은 @RequestMapping
이 지정된 메서드를 찾아 해당 요청을 처리할 수 있는 핸들러로 간주합니다.
@Component
로 스프링 빈 이름으로 핸들러 찾기: 이는 스프링의 컴포넌트 스캔 기능을 통해 @Component
애노테이션이 붙은 클래스를 스프링 빈으로 등록하고, 해당 빈의 이름을 기반으로 핸들러를 찾는 방식입니다.
따라서 @RequestMapping
은 핸들러 매핑에 직접적으로 관여하는 애노테이션입니다. 하지만 @RequestMapping
을 사용하기 위해서는 해당 클래스가 컨트롤러로 인식되어야 합니다. 이를 위해 클래스에 @Controller
또는 @RestController
와 같은 애노테이션을 붙여 컨트롤러로 지정해야 합니다.
핸들러 어댑터(HandlerAdapter)는 핸들러 매핑이 찾은 핸들러를 실제로 호출하고 실행하는 역할을 합니다. 핸들러 어댑터는 해당 핸들러의 메서드를 호출하고, 필요한 파라미터를 바인딩하며, 반환값을 처리합니다.
따라서 영상에서 설명하는 내용은 핸들러 매핑의 우선순위를 나타내는 것이며, @RequestMapping
은 핸들러 매핑에 직접적으로 관여하는 애노테이션입니다. 핸들러 어댑터는 매핑된 핸들러를 실제로 호출하고 실행하는 역할을 담당합니다.
감사합니다.