개발 일지/Spring

[Spring MVC] Spring MVC

미숫가루설탕많이 2023. 2. 13. 15:29

 Spring MVC는 클라이언트의 요청을 편리하게 처리해 주는 프레임워크이다.

 

 Spring의 모듈 중에는 웹 계층을 담당하는 몇가지 모듈이 있는데, 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 처리하는 모듈을 spring-webmvc라고 한다. 이 Spring Web MVC를 줄여서 Spring MVC 또는 Spring MVC Framework라고 부른다.

 

 이 모듈을 사용해서 백엔드 프로그래밍의 기본 프레임워크를 잡으면 개발자가 해야 할 영역을 더 적게 만들어줌으로써 기존의 Spring 보다 더 깔끔하고 간편한 개발이 가능하다.

 

 Spring MVC에서 M은 Model, V는 View, C는 Controller를 의미한다.

 

 

 

 Model

 Spring MVC 기반의 웹 애플리케이션이 클라이언트의 요청을 전달 받으면 요청 사항을 처리하기 위한 작업을 한다.

 

 여기서 처리한 작업의 결과 데이터를 클라이언트에게 응답으로 돌려줄 때 작업의 처리 결과 데이터를 Model이라고 한다. 즉, Model은 데이터 디자인을 담당한다.

 

 

 

 

View

 Model 데이터를 이용해서 웹브라우저 같은 클라이언트 애플리케이션의 화면에 보이는 리소스(Resource)를 제공하는 역할을 한다. 즉, 실제로 렌더링 되어 보이는 페이지를 담당한다.

 

 View의 형태는 HTML 페이지의 출력, 문서 형태(PDF, Excel 등)로 출력, 특정 형식의 포맷으로의 변환(XML, JSON 등) 등으로 나눌 수 있다.

 

 특정 형식의 포맷으로 변환하면 프론트와 백의 영역이 명확하게 구분되므로 개발 및 유지보수가 상대적으로 용이하며, 프론트엔드 측에서 비동기 클라이언트 애플리케이션을 만드는 것이 가능해진다는 장점이 있다.

 

 

 

 

Controller

 클라이언트 측의 요청을 직접적으로 전달 받는 엔드포인트(Endpoint)로써 Model과 View의 중간에서 상호 작용을 해주는 역할을 한다. 즉, 사용자의 요청을 받아서 비즈니스 로직을 거친 후, Model 데이터가 만들어지면 이 데이터를 View로 전달한다.

 

 

 

 

MVC의 전체적인 동작 흐름

 

  1. 클라이언트가 요청 데이터 전송
  2. Controller가 요청 데이터 수신
  3. 비즈니스 로직 처리
  4. Model 데이터 생성
  5. Controller에게 Model 데이터 전달
  6. Controller가 View에게 Model 데이터 전달
  7. View가 응답 데이터 생성

'개발 일지 > Spring' 카테고리의 다른 글

[Spring MVC] DTO  (0) 2023.02.15
[Spring MVC] DispatcherServlet  (0) 2023.02.15
[Spring] 의존관계 주입 방법  (0) 2023.02.07
[Spring] Component Scan  (0) 2023.02.07
[Spring] 빈  (0) 2023.02.06