개인 공부 블로그

@RequestMapping (@Controller) 본문

스프링/MVC 1 - 백엔드 웹 개발 핵심기술

@RequestMapping (@Controller)

패잇 2024. 2. 6. 14:54

@RequestMapping

  • RequestMappingHandlerMapping
  • ReuqestMappingHandlerAdapter

스프링은 @RequestMapping을 사용하는 실용적인 컨트롤러를 만들었다. @RequestMapping의 앞글자를 따서 만든 이 핸들러 매핑과 어댑터가 애노테이션 기반의 컨트롤러를 지원하는 애들. 실무에서는 99.9%가 이 방식의 컨트롤러를 사용한다!


RequestMappingHandlerMapping은 스프링 빈 중에서 @RequestMapping 또는 @Controller가 클래스 레벨에 붙어있는 경우에 매핑 정보로 인식한다.

@Controller

  • 스프링이 자동으로 스프링 빈으로 등록(내부에 @Component가 있어서 컴포넌트 스캔의 대상이 됨)
  • 스프링 MVC에서 애노테이션 기반 컨트롤러로 인식함.
  • @Controller는 반환값이 String이면 뷰 이름으로 인식된다.

-> 컴포넌트 스캔의 대상이 되며 핸들러 정보라는 것을 알려준다. (@Component만 써서 그냥 빈으로만 등록되면 핸들러로 인식 못함) RequestMappingHandlerMapping 안에 보면 핸들러인지 검사하는 메서드가 있는데 2개 애노테이션이 beanType이 클래스 레벨에 있으면 처리할 수 있는 핸들러 대상이 된다.


알게된 것
@Controller는 단순히 빈으로 등록하는 것 뿐만 아니라 핸들러 매핑의 대상이 되게한다. -> 요청을 처리할 수 있는 컨트롤러로 인식.




출처
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard


'스프링 > MVC 1 - 백엔드 웹 개발 핵심기술' 카테고리의 다른 글

디스패처 서블릿(DispatcherServlet)  (1) 2024.02.06
요청 매핑  (1) 2024.02.06
스프링 MVC  (0) 2024.02.06
HttpServletRequest  (0) 2024.02.02
동시 요청 - 멀티 쓰레드  (0) 2024.02.02