728x90
✅ MVC 패턴(Model-View-Controller)이란?
소프트웨어 설계 패턴 중 하나로, 애플리케이션을 세 개의 역할로 나누어 유지보수와 확장성을 높이는 구조
✅ 1. MVC 패턴이 왜 필요할까?
📌 애플리케이션이 복잡해지면 유지보수가 어려워져!
👉 비즈니스 로직(데이터 처리)과 UI(화면)이 뒤섞이면 코드가 지저분해짐
👉 이를 해결하기 위해 역할을 분리한 것이 MVC 패턴!
✅ 2. MVC 패턴의 구성 요소
✔ (1) Model(모델) – 데이터 및 비즈니스 로직 담당
- DB와 연결되어 데이터를 처리하는 역할
- Repository를 통해 데이터를 읽고 쓰는 역할 수행
- 예: 회원 정보 조회, 상품 목록 불러오기
public class User {
private String name;
private int age;
// 생성자, getter, setter
}
✔ (2) View(뷰) – 사용자 인터페이스(UI) 담당
- 사용자에게 보여줄 화면
- Model에서 받은 데이터를 화면에 출력
- 예: HTML, JSP, Thymeleaf, React, Vue 등
<h1>회원 정보</h1>
<p>이름: ${user.name}</p>
<p>나이: ${user.age}</p>
✔ (3) Controller(컨트롤러) – 요청 처리 및 흐름 제어
- 사용자의 요청을 받고 Model을 호출한 후 View에 전달
- 예: 사용자가 /user 페이지를 요청하면, UserController가 해당 요청을 처리하고 Model을 전달
@Controller
@RequestMapping("/user")
public class UserController {
@GetMapping("/{id}")
public String getUser(@PathVariable Long id, Model model) {
User user = userService.getUserById(id);
model.addAttribute("user", user);
return "userView"; // View 이름 반환
}
}
✅ 4. Spring MVC에서 MVC 패턴 적용
Spring에서는 Controller, Service, Repository 를 분리하여 MVC 패턴을 구현해!
📌 Spring MVC 구조
[사용자] ---> [Controller] ---> [Service] ---> [Repository] ---> [DB]
⬇
[View]
✔ Controller: 요청을 받고 Service 호출
✔ Service: 비즈니스 로직 처리
✔ Repository: DB 접근 및 데이터 저장
✅ 5. MVC 패턴을 사용하면 좋은 점
✔ 유지보수 용이: 역할이 분리되어 있어서 코드 수정이 쉬움
✔ 재사용성 증가: 같은 Model을 다양한 View에서 활용 가능
✔ 협업 용이: 백엔드 개발자(Controller, Model)와 프론트엔드 개발자(View) 역할 분리 가능
✅ 6. 정리
✔ MVC 패턴은 역할을 나누어 코드 관리를 효율적으로 하기 위한 설계 패턴
✔ Model(데이터) / View(UI) / Controller(요청 처리) 로 구성
✔ Spring에서는 Controller-Service-Repository 구조로 MVC를 적용
✔ 유지보수와 확장성이 뛰어난 구조
728x90
'프로그래밍 > Spring' 카테고리의 다른 글
Component Scan이란? (0) | 2025.03.26 |
---|---|
Spring Container란? (0) | 2025.03.26 |
서블릿과 WAS의 관계 (0) | 2025.03.26 |
WAS(Web Application Server, 웹 애플리케이션 서버)란? (0) | 2025.03.26 |
서블릿 컨테이너(Servlet Container)란? (0) | 2025.03.26 |