이것저것
Spring Boot - MVC 본문
Model
- 평범한 자바 객체, POJO
- 도메인 객체 또는 DTO 로 화면에 전달할 또는 화면에서 전달 받은 데이터를 담고 있는 객체 (@Entity)
- DB와 강하게 연관되어있음 (매핑)
VIew
- HTML, JSP, THYMELEAF... (정적or 동적컨텐츠)
- 데이터를 보여주는 역할
- 다양한 형태 : HTML, JSON, XML 등
Controller
- UserController, ArticelController...
- 사용자 입력을 받은 모델 객체의 데이터를 변경하거나 뷰에 전달하는 역할
ex) 입력값 검증, 모델 객체 변경, 변경된 모델 개체 뷰에 전달
MVC 흐름
View 에서 Request가 들어오면 controller로 들어와 model에 보내면 model 이 데이터를 처리하고 서버(controller) 가 다시 view에 전달
MVC 장점
- 동시다발적개발 : 백엔드 개발자와 프론트엔드 개발자가 독립적으로 개발 진행
- 높은 응집도 : 논리적으로 관련있는 기능을 하나의 controller로 묶거나, 특정 모델과 관련 있는 뷰로 그룹화 ex) 하나의 controller에 다양한 URL Mapping
- 낮은 의존도 : 뷰, 모델, 컨트롤러가 각각 독립적이다
- 개발용이성 : 책임이 구분되어 있어 코드 수정 편안
- 한 모델에 대한 여러 형태의 View를 가짐 (HTML, JSON, THYMELEAF)
'Spring Boot' 카테고리의 다른 글
프록시와 연관관계 정리 (0) | 2021.02.17 |
---|---|
엔티티 매핑시 주의점 (0) | 2021.01.15 |
Spring Boot - Postman 사용시 Response Body 한글 깨짐 (0) | 2021.01.07 |
Comments