[SpringBoot] Spring MVC

김선형·2025년 9월 8일

Java

목록 보기
16/27

개요

Spring MVC (Model-View-Controller)는 Spring Framework에서 제공하는 웹 어플리케이션 개발을 위한 핵심 모듈이다. MVC 패턴을 기반으로 웹 요청을 처리하고, 데이터를 전달하며, View (화면)을 렌더링한다. Spring Boot 어플리케이션은 내부적으로 Spring MVC를 사용해서 웹 요청을 처리한다.

MVC 흐름

Spring MVC

클라이언트가 요청 (Request)를 보내면, Controller가 요청을 받아 로직 (상태 갱신, etc.)를 처리하고 필요한 데이터를 Model에서 가져온다. Controller는 응답 데이터를 View에 전달하고, View는 데이터를 참조하여 화면을 렌더링한 뒤, 최종 응답 (Response)을 클라이언트로 반환한다.

관련 어노테이션

컴포넌트역할관련 어노테이션
DispatcherServlet
(요청/응답 처리)
모든 HTTP 요청을 받아 적절한 Handler를 호출하고,
처리 결과를 다시 응답으로 변환하는 Front Controller
Spring Boot가 자동으로 등록
HandlerMapping요청 URL, HTTP 메서드를 기반으로
어떤 Controller 메서드가 실행되어야 하는지 매핑
@RequestMapping,
@GetMapping,
@PostMapping, etc.
HandlerAdapter선택된 Controller를 실제 실행 가능한 형태로 호출Spring 내부 컴포넌트로
직접 어노테이션 없음
Controller요청을 받아 비즈니스 로직 처리, 파라미터 바인딩,
Model 생성 및 View/데이터 생성
@Controller (뷰 반환)
@RestController (JSON 반환)
@ResponseBody
@RequestBody
HTTPMessageConverter요청/응답의 Body(JSON, XML, etc.)를
객체/문자열로 변환
@RequestBody,
@ResponseBody 사용 시 동작
Jackson, Gson 등 라이브러리 기반
ViewResolverController가 반환한 View 이름을
실제 View 객체 (Thymeleaf, JSP 등)로 매핑
@Controller 사용 시 자동 동작
DispatcherServlet
(응답 반환)
Controller/MessageConverter가 만든 결과를 가공하여
최종 응답을 클라이언트에 전달
profile
선형의 비선형적 기록 🐜

0개의 댓글