본문 바로가기
Java/Spring Framework

스프링 프레임워크 동작 순서 및 구조

by 놀러와요 2019. 11. 12.
반응형

Spring Framework (스프링프레임워크) 기본적인 동작 순서 및 구조에 대해서 정리해봤습니다.

 

전체적인 구조가 잘 정리되어있는 블로그가 있어서 이미지와 PDF 파일을 참고했습니다.

 

( 이미지 및 파일 출처 : http://server-engineer.tistory.com/253 )

 

 Spring_기본 동작순서_및_구조.pdf

 

 

 

 

 

 

전체적인 실행 순서입니다.

 

Request -> DispatcherServlet -> HandlerMapping -> Controller -> Service -> DAO -> DB 

 

-> DAO -> Service -> Controller -> DispatcherServlet -> ViewResolver -> View -> Response

 

사진 출처 : http://blog.daum.net/gunsu0j/165

 

순서를 상세히 정리하면 아래와 같습니다.

 

1. 클라이언트가 Request 요청을 하면 DispatcherServlet이 요청을 가로챕니다.

  

   이때 DispatcherServlet이 모든 요청을 가로채는건 아니고 web.xml에 <url-pattern>에 등록된 내용만 가로챕니다.

 

   설정을 아래처럼할 수 있습니다.  (*.do만 가로챔)

<servlet>

	<servlet-name>dispatcher</servlet-name>

	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>



	<init-param>

		<param-name>contextConfigLocation</param-name>

		<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>

	</init-param>

	<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

	<servlet-name>dispatcher</servlet-name>

	<url-pattern>*.do</url-pattern>

</servlet-mapping> 

2. DispatcherServlet이 가로챈 요청을 HandlerMapping에게 보내 해당 요청을 처리할 수 있는 Controller를 찾습니다.

 

3. 실제 로직 처리 (Controller -> Service -> DAO -> DB -> DAO -> Service -> Controller)

 

4. 로직 처리 후 ViewResolver를 통해 view 화면을 찾습니다.

 

5. View화면을 최종 클라이언트에게 전송합니다.

 

여기서 사용되는 방식이 일반적으로 MVC 모델2라고 하는데 관련 내용은 아래 링크 참고 바랍니다.

 

http://intro0517.tistory.com/152

 

Spring MVC 모델 2 (MVC 패턴)

SpringFramework (스프링 프레임워크)를 사용하시다보면 MVC 패턴이라고 많이 들어보셨을 겁니다. MVC 패턴이란 애플리케이션을 Model, View, Controller의 세영역으로 구분하여 동작하게 만드는 방식입니다. 장점..

intro0517.tistory.com

출처 : https://intro0517.tistory.com/151

반응형