Spring MVC 강의자료
1. Spring MVC란?
Spring MVC(Model-View-Controller)는 Spring Framework의 웹 애플리케이션 개발을 위한 모듈로, MVC 패턴을 기반으로 클라이언트 요청을 처리하는 구조를 제공합니다.
특징
- 유연한 아키텍처: 다양한 View 기술(JSP, Thymeleaf, FreeMarker 등)과 연동 가능
- 강력한 요청 처리 기능: DispatcherServlet을 중심으로 요청을 컨트롤러에 매핑
- DI(의존성 주입) 지원: IoC 컨테이너 기반의 유연한 객체 관리
- 다양한 요청 매핑 기능: @RequestMapping, @GetMapping, @PostMapping 등을 이용한 URL 매핑 지원
2. Spring MVC 동작 흐름
Spring MVC의 동작 흐름은 아래와 같은 단계로 진행됩니다.

- 클라이언트가 HTTP 요청을 보냄
- DispatcherServlet이 요청을 수신
- HandlerMapping을 이용하여 적절한 컨트롤러를 찾음
- 해당 컨트롤러를 실행할 핸들러 어댑터를 조회
- 핸들러(컨트롤러) 실행 후 ModelAndView 반환
- ViewResolver를 이용하여 적절한 View 결정
- View 객체를 반환하여 DispatcherServlet이 View를 렌더링
- HTML 응답을 클라이언트에게 반환
2-1. Controller에서 @ResponseBody 선언 시 동작 방식