본문 바로가기
Spring Framework/Spring

스프링 MVC - 전체 구조

by 도쿠니 2022. 6. 8.

MVC 패턴이란?

좌측 일반적인 MVC / 우측 WEB MVC

하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴으로 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다.

 

  • Model
    • 로직 안에서 이동하고 있는 데이터
  • View
    • 화면은 화면의 역할만
    • 사용자 인터페이스 요소
  • Controller
    • 비즈니스 로직을 처리하고 모델과 뷰를 응답으로 준다
    • 데이터와 비즈니스 로직 사이의 상호동작을 관리

 

스프링 MVC 구조

  1. 핸들러 조회: 핸들러 매핑을 통해 요청 URL에 매핑된 핸들러(컨트롤러)를 조회
  2. 핸들러 어댑터 조회: 핸들러를 실행할 수 있는 핸들러 어댑터를 조회
  3. 핸들러 어댑터 실행: 핸들러 어댑터를 실행
  4. 핸들러 실행: 핸들러 어댑터가 실제 핸들러를 실행
  5. ModelAndView 반환: 핸들러 어댑터는 핸들러가 반환하는 정보를 ModelAndView로 변환해서 반환한다.
  6. viewResolver 호출: 뷰 리졸버를 찾고 실행
  7. View 반환: 뷰 리졸버는 뷰의 논리 이름을 물리 이름으로 바꾸고, 렌더링 역할을 담당하는 뷰 객체를 반환
    • 요새는 JSON 형태로 데이터로 응답한다. 뷰 렌더링 X → restful
  8. 뷰 렌더링: 뷰를 통해서 뷰를 렌더링 한다.

'Spring Framework > Spring' 카테고리의 다른 글

스프링 MVC - Filter , Interceptor  (0) 2022.06.08
스프링 MVC - HTTP Request,Response  (0) 2022.06.08
Spring Validation  (0) 2022.06.07
Data Binding  (0) 2022.06.07
Spring AOP(관점 지향 프로그래밍)  (0) 2022.06.07

댓글