Spring Boot에서 MVC 아키텍처 흐름
Source: Dev.to

MVC란?
MVC는 다음의 약자입니다:
- M → Model(모델)
- V → View(뷰)
- C → Controller(컨트롤러)
관심사의 분리를 통해 코드를 조직화하는 디자인 패턴입니다. Spring Boot에서는 MVC가 웹 애플리케이션을 깔끔하게 구조화하는 데 도움을 줍니다.
Spring Boot의 MVC는 애플리케이션을 Model, View, Controller 로 구분합니다:
- Model 은 데이터와 비즈니스 로직을 담당합니다.
- View 는 사용자 인터페이스를 표시하는 역할을 합니다.
- Controller 는 다리 역할을 하여 사용자 요청을 받고 Model과 View 사이를 조정합니다.
요청이 들어오면 Controller가 이를 처리하고 Model과 상호작용한 뒤 결과를 View에 전달합니다. 이러한 분리는 코드를 체계적으로 유지하고, 유지보수성을 높이며, 확장성·가독성·개발 효율성을 향상시킵니다.
MVC를 사용하는 이유
MVC 없이 모든 코드(로직 + UI + 데이터)가 뒤섞이면 → 엉망이 됩니다.
MVC를 적용하면:
- ✅ 코드가 깔끔하고 체계적입니다
- ✅ 유지보수·디버깅이 쉬워집니다
- ✅ 팀 개발을 지원합니다
- ✅ 재사용 가능한 컴포넌트를 만들 수 있습니다
MVC 구성 요소
Model (데이터 계층)
데이터와 비즈니스 로직을 나타냅니다. 일반적으로 포함되는 요소:
- 엔티티 클래스
- 데이터베이스 연동
예시:
class Student {
int id;
String name;
}
View (UI 계층)
사용자가 보는 화면 👀. 다음과 같은 형태가 될 수 있습니다:
- HTML
- JSP
- Thymeleaf
예시:
## Welcome Student
Controller (요청 처리기)
- 사용자 요청을 처리합니다
- Model과 View를 연결합니다
예시:
@RestController
public class StudentController {
@GetMapping("/student")
public String getStudent() {
return "Hello Student";
}
}
