💡 개요
Spring의 통합테스트를 진행할 때, Spring 서버가 자주 실행돼서 시간이 오래 걸린다.
그럼 Spring Boot가 실행될 때 어떤 작업을 수행하는지 정리해보자.
📕 Spring Boot 시작 과정
1. SpringApplication 실행
SpringApplication.run() 메서드를 호출하면서 Spring 애플리케이션이 실행된다.
수행되는 작업은 다음과 같다.
- Application Context 생성
- 환경변수 및 설정파일 로드 (application.yml, application.properties)
- 애플리케이션 이벤트 및 리스너 설정
- 리스너 실행
2. Application Context 초기화
Spring 애플리케이션이 실행되면 Application Context를 초기화한 후 빈(Bean)을 등록하고, 설정 파일을 로드한다.
- 환경변수 및 설정파일 로드 (application.yml, application.properties)
- @Bean, @Configuration, @Component 와 같은 빈 정보 스캔
3. 의존성 주입
컴포넌트 스캔을 통해 수집한 빈 정보를 빈이 필요한 다른 클래스에 주입한다.
4. 웹 서버 실행 (Tomcat)
Spring Boot에 내장되어 있는 웹 서버를 실행한다.
- Tomcat 실행
- Dispatcher Servlet 등록 및 초기화
- Filter, Interceptor 등록
5. 애플리케이션 실행
최종적으로 Spring 애플리케이션이 실행된다.
'개발 일기' 카테고리의 다른 글
[개발 일기] 2025.04.04 - isBlank() vs isEmpty() (0) | 2025.04.04 |
---|---|
[개발 일기] 2025.04.03 - @DataJpaTest vs @SpringBootTest (0) | 2025.04.03 |
[개발 일기] 2025.04.01 - Blocking & Non-blocking IO (0) | 2025.04.01 |
[개발 일기] 2025.03.31 - WSS (WebSocket Secure) (0) | 2025.03.31 |
[개발 일기] 2025.03.30 - Docker를 사용하는 이유가 뭐에요? (0) | 2025.03.30 |