Backend/SpringBoot 이론 부분

Spring boot의 요청 처리 흐름

Dean83 2025. 12. 15. 14:46

Springboot 의 대략적인 동작 형태를 정리하면 다음과 같다. (상세한 부분이 아닌, 대략적인 형태이다)

일단, 구성은 2가지 파트로 되어 있다. 내장된 서버 그리고 Spring Container 로 구성되어 있다. 

 

내장된 서버(예 : 톰캣)의 경우에는 요청이 오면, 필터 체인을 통해 요청을 처리하고, DispatcherServlet을 통해 Spring container로 넘기게 되어 있다.

 

  • 요청이 오면, Springboot 에 내장된 웹서버 (예 톰캣)
    • 필터체인에서 각 필터들을 수행
    • 통과를 모두 하게 되면 DispatcherServlet 을 통해 spring container로 전달
    • HandlerMapping 을 통해 어느 컨트롤러로 넘겨줄지 판단
    • HandlerInterceptor를 통해 공통 로직 처리
    • Handler Adapter 를 통해 실제 실행할 컨트롤러 호출
  • 단, 내장 서버에 있는 FilterChain 에 delegating filter proxy 가 있는데, Security를 적용했을 경우에는 Spring container 에 있는 FilterChainProxy 를 통해 SecurityFilterChain 을 호출하여 처리를 하고 나서 DispathcerServlet으로 넘긴다. 
    • 즉, FilterChainProxy 와 SecurityFilterChain은 다른 Filter와 다르게 Spring container 내부에 존재한다.
  • 컨트롤러, 서비스등이 동작하고 결과를 리턴할 경우, DispatcherSurvlet -> Filter chain 을 통해 응답을 내보낸다.

'Backend > SpringBoot 이론 부분' 카테고리의 다른 글

Spring MVC 인증흐름과 주요 인터페이스들 (Form login기준)  (0) 2025.12.15
Filter 및 SecurityFilterChain  (0) 2025.12.15
SpringBoot 에서 트랜잭션  (0) 2025.10.01
Entity 심화  (0) 2025.09.30
Proxy  (0) 2025.09.30