[Spring] HandlerMapping, HandlerAdapter

19·2022년 12월 13일
1

Spring

목록 보기
23/29

Handler(Controller)는 어떻게 호출할 수 있을까?

-> HandlerMapping과 HandlerAdapter가 필요하다.
스프링 부트가 자동으로 HandlerMapping과 HandlerAdapter를 등록한다



HandlerMapping

HandlerMapping에서 클라이언트 요청을 처리할 수 있는 Handler(Controller)를 찾는다.

0 = RequestMappingHandlerMapping : 어노테이션 기반의 컨트롤러인 @RequestMapping에서 사용
1 = BeanNameUrlHandlerMapping : 스프링 빈의 이름으로 핸들러를 찾는다.
...
  • 스프링 부트가 자동으로 등록하는 HandlerMapping의 일부이다.
  • 차례대로 HandlerMapping을 조회하며 요청을 처리할 수 있는 Handler를 찾는다.

HandlerAdapter

HandlerMapping에서 찾은 Handler(Controller)를 실행할 수 있는 HandlerAdapter가 필요하다.

0 = RequestMappingHandlerAdapter : 어노테이션 기반의 컨트롤러인 @RequestMapping에서 사용
1 = HttpRequestHandlerAdapter : HttpRequestHandler 처리
2 = SimpleControllerHandlerAdapter : Controller 인터페이스 처리
...
  • 스프링 부트가 자동으로 등록하는 HandlerAdapter의 일부이다.
  • 차례대로 HandlerAdapter를 조회하며 Handler를 실행할 수 있는 HandlerAdapter를 찾는다.



@RequestMapping
실무에서는 주로 어노테이션 기반의 컨트롤러를 지원하는 RequestMappingHandlerMapping, RequestMappingHandlerAdapter를 가장 많이 사용한다.

profile
하나씩 차근차근

0개의 댓글