Spring Framework 기본 구조

이주빈·2023년 10월 12일

웹 개발 개념 정리

목록 보기
4/29

spring MVC 패턴

이미지 출처: https://devscb.tistory.com/119

<전체적인 실행 순서>

Request -> DispatcherServlet -> HandlerMapping -> Controller -> Service -> DAO -> DB
-> DAO -> Service -> Controller -> DispatcherServlet -> ViewResolver -> View -> Response

<스프링 프레임워크 MVC 구성 요소>

구성 요소 설명

Dispatcher-Servlet

-HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러(Front Controller):사용자의 모든 요청을 전달받는곳

-클라이언트의 요청을 전달받아 해당 요청에 대한 컨트롤러를 선택하여 클라이언트의 요청
을 전달한다.
-또한 컨트롤러가 반환한 값을 View 에 전달하여 알맞은 응답을 생성한다.

HandlerMapping

-클라이언트가 요청한 URL 을 처리할 컨트롤러를 지정한다.

-클라이언트로부터 어떠한 요청이 오면 Tomcat(톰캣)과 같은 서블릿 컨테이너가 요청을 받게 된다.
그리고 이 모든 요청을 프론트 컨트롤러인 디스패처 서블릿이 가장 먼저 받게 된다. 그러면 디스패처 서블릿은 공통적인 작업을 먼저 처리한 후에 해당 요청을 처리해야 하는 컨트롤러를 찾아서 작업을 위임한다.

Controller

-클라이언트의 요청을 처리한 후 그 결과를 DispatcherServlet에 전달한다.

-스프링에는 컨트롤러를 지정해주기 위해 어노테이션 @Controller 사용

Service (서비스)

-개발자가 직접 개발하는 컴포넌트로, 비지니스 로직을 수행하는 컴포넌트
-Service가 알맞은 정보를 가공하는 과정을 ‘비즈니스 로직을 수행한다’ 라고 한다.

DAO (Data Access Object)

-개발자가 직접개발하는 컴포넌트로, Database에 직접적으로 접근하여 SQL 문을 실행할 수 있는 객체

출처: https://devscb.tistory.com/119
https://mangkyu.tistory.com/18
https://velog.io/@hyunjong96/Sprin-Spring-MVC-DispatcherServlet
자바웹을 다루는 기술 - 이병승

profile
개발 공부 블로그

0개의 댓글