Summary
@RequestMapping과 @Controller = 애노테이션으로 된 컨트롤러라고 생각!
MVC 구조에서 가장 중요한 것
HandlerMapping(핸들러 매핑) : 핸들러 매핑으로 요청에 대한 컨트롤러를 찾는다! 클래스 레벨에 @Controller 또는 @Component+@RequestMapping 또는 메서드 단위로@RequestMapping 를 붙이는 방법으로 매핑이 가능하다!
HandlerAdapter(핸들러 어댑터) : 핸들러 매핑을 통해 찾은 핸들러를 실행할 수 있는 핸들러 어댑터가 필요하다. ex) Controller 인터페이스를 실행할 수 있는 핸들러 어댑터를 찾고 실행해야 한다.
HandlerMapping
RequestMappingHandlerMapping : 애노테이션 기반의 컨트롤러인 @RequestMapping에서 사용
BeanNameHandlerMappinig : 스프링 빈의 이름으로 핸들러 찾는다!
HandlerAdapter
RequestMappingHandlerAdapter : 애노테이션 기반의 컨트롤러인 @RequestMapping에서 사용
HttpRequestHandlerAdapter : HttpRequestHandler 처리
SimpleControllerHandlerAdapter : Controller 인터페이스(애노테이션X, 과거에 사용)
@Controller를 붙이는 이유⭐️⭐️⭐️⭐️⭐️
컴포넌트로 등록해서 컴포넌트 스캔 대상이 된다.
RequestMappinigHandlerMapping에서 매핑 정보 대상으로 인식한다! 그래서 @Controller를 붙이면 말 그대로 (애노테이션 기반의) 컨트롤러가 되는 것이다!
뷰 리졸버
지금까지 작성한 JSP의 경우 스프링 부트는 InternalResourceViewResolver라는 뷰리졸버를 자동 등록한다. JSP에 맞는 뷰를 렌더링한다.
Last updated