[Spring Boot 시작 과정] 2. Application Bootstraping을 위한 13단계

application bootstraping banner

SpringApplication 인스턴스가 생성된 후 인스턴스의 run() 호출시(정적 메서드 run()이 아니다) Application Bootstraping을 위한 13단계를 거치는데 어떤 과정들을 수행하는지 알아보자. SpringApplication 클래스 코드는 Spring Boot 3.2.1 버전을 사용하였다.

[Spring Boot 시작과정] 1. SpringApplication 생성과 자동 감지

SpringApplication 생성 배너

Spring Boot 애플리케이션을 개발할 때 우리가 가장 먼저 마주하는 코드는 @SpringBootApplication 어노테이션이 붙은 클래스와 그 안의 main 메서드일 것이다.
몇 줄 안되는 매우 간단한 코드지만 SpringApplication.run() 호출 뒤에는 수십 개의 클래스가 협력하여 복잡한 초기화 과정을 수행한다. Spring Boot는 이러한 복잡성을 숨기고 개발자에게 단순한 인터페이스를 제공하지만 내부 동작을 이해 하면 더 효과적으로 Spring Boot를 활용할 수 있다. 이번 포스팅에서는 SpringApplication 객체가 생성될 때 내부적으로 어떤 동작들이 이루어지는지 정리해 보고자 한다.