Spring 2

[Spring MVC] HandlerAdapter 의 구현체는 어떤것들이 있을까?

지난 글에서는 왜 Spring MVC에 HandlerAdapter라는 개념이 필요한가를 살펴봤다.이번 글에서는 한 발짝 더 들어가, 실제로 존재하는 HandlerAdapter 구현체들은 어떤 것들이 있고, 각각 어떤 차이가 있는지 정리해보자.HandlerAdapter 인터페이스의 기본 역할다시 한 번 확인하자.모든 HandlerAdapter는 HandlerAdapter 인터페이스를 구현해야 하며, 핵심 메소드는 두 가지다.public interface HandlerAdapter { /** * Whether this {@code HandlerAdapter} supports the given {@code handler}. * @param handler the handler object to check ..

Spring 2025.10.07

[Spring MVC] HandlerAdapter 가 존재하는 이유는 뭘까?

Spring MVC의 요청 처리 과정을 살펴보면, 흔히 이렇게 설명된다.사용자의 요청이 들어오면 DispatcherServlet이 이를 가장 먼저 받는다. (Front Controller)HandlerMapping이 요청 URL에 맞는 핸들러를 찾아낸다.HandlerAdapter가 선택된 핸들러를 실행할 수 있는 준비를 한다. (핸들러 타입에 따라 실행 방법이 달라질 수 있음)준비된 핸들러가 실제 컨트롤러 메서드로 호출된다.컨트롤러 실행 결과는 ModelAndView 형태로 DispatcherServlet에 반환된다이후 뷰 렌더링 단계(ViewResolver, View)로 넘어가 최종 응답을 사용자에게 돌려준다.문득 이런 의문이 생겼다.HandlerMapping에서 이미 컨트롤러를 찾았는데, 그냥 바로 ..

Spring 2025.10.03