RequestMapping
- 스프링은 애노테이션을 활용한 매우 유연하고 실용적인 컨트롤러를 만들었는데 이것이 바로 @RequestMapping 애노테이션을 사용하는 컨트롤라다.
- RequestMappingHandlerMapping
- RequestMappingHandlerAdapter
- 가장 우선순위가 높은 핸들러 매핑과 핸들러 어댑터는 RequestMappinghandlerMapping, RequestMappingHandlerAdapter다.
예제 코드
@Controller
public class SpringMemberFormControllerV1 {
private static final String VIEW_NAME = "new-form";
@RequestMapping("/springmvc/v1/members/new-form")
public ModelAndView process() {
return new ModelAndView(VIEW_NAME);
}
}
- @Controller
- 스프링이 자동으로 스프링 빈으로 등록한다. (내부에 @Component 애노테이션이 있어서 컴포넌트 스캔의 대상이 된다.)
- 스프링 MVC에서 애노테이션 기반 컨트롤러로 인식한다.
- @RequestMapping
- 요청 정보를 매핑한다.
- 해당 URL이 호출되면 이 메소드가 호출된다.
- 애노테이션 기반으로 동작하기 때문에 메소드의 이름은 임의로 지으면 된다.
- ModelAndView
- RequestMappingHandlerMapping은 스프링 빈 중에서 @RequestMapping 또는 @Controller가 클래스 레벨에 붙어 있는 경우에 매핑 정보로 인식한다.