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 |