Handler(Controller)는 어떻게 호출할 수 있을까?
-> HandlerMapping과 HandlerAdapter가 필요하다.
스프링 부트가 자동으로 HandlerMapping과 HandlerAdapter를 등록한다
HandlerMapping에서 클라이언트 요청을 처리할 수 있는 Handler(Controller)를 찾는다.
0 = RequestMappingHandlerMapping : 어노테이션 기반의 컨트롤러인 @RequestMapping에서 사용
1 = BeanNameUrlHandlerMapping : 스프링 빈의 이름으로 핸들러를 찾는다.
...
HandlerMapping에서 찾은 Handler(Controller)를 실행할 수 있는 HandlerAdapter가 필요하다.
0 = RequestMappingHandlerAdapter : 어노테이션 기반의 컨트롤러인 @RequestMapping에서 사용
1 = HttpRequestHandlerAdapter : HttpRequestHandler 처리
2 = SimpleControllerHandlerAdapter : Controller 인터페이스 처리
...
@RequestMapping
실무에서는 주로 어노테이션 기반의 컨트롤러를 지원하는 RequestMappingHandlerMapping, RequestMappingHandlerAdapter를 가장 많이 사용한다.