Spring/Spring MVC

DispatcherServlet 초기화 까지

doriver 2024. 8. 25. 16:31

SpringBoot프로젝트 실행( @SpringBootApplication )하면 다음과 같은 순서로 event들이 발생한다.

tomcat초기화 > 스프링컨테이너 초기화 > tomcat시작 > SpringBoot애플리케이션 시작

 

 

DispatcherServlet의 경우는 SpringBoot애플리케이션이 실행된 다음에

, 실제로 HTTP 요청이 들어올 때 초기화된다.( Lazy Initialization )   

SpringBoot애플리케이션 실행  >  첫 HTTP요청 받음 
>  DispatcherServlet 스프링빈 초기화 
> DispatcherServlet이 서블릿 컨테이너에 등록되고, 서블릿으로서 초기화
> DispatcherServlet 초기화 완료 > 요청 처리


스프링 부트의 자동 설정 기능에 의해 DispatcherServlet는 Tomcat의 서블릿 컨테이너에 등록된다.
( ServletRegistrationBean을 통해 DispatcherServlet이 서블릿으로 등록 됨 )