21편에서는 ApplicationContext와 BeanFactory의 책임 차이를 통해 Spring Boot가 다루는 “실행 환경”의 범위를 정리했다.이번 글에서는 그보다 더 이른 시점, 아직 Bean조차 만들어지기 전 단계에 개입하는 방법인 ApplicationContextInitializer를 다룬다.이 기능은 강력한 만큼, 잘못 쓰면 구조를 망치기 쉬운 영역이다. “언제 써야 하고, 언제 쓰면 안 되는지”를 기준으로 정리해보자.1) ApplicationContextInitializer는 언제 호출될까Spring Boot 애플리케이션은 SpringApplication.run() 과정에서 여러 단계를 거친다.ApplicationContextInitializer는 ApplicationContext가 생..