반응형

applicationcontextinitializer 2

[Spring Boot 공식 문서 정리] 43. EnvironmentPostProcessor vs ApplicationContextInitializer

42편에서는 Spring Boot의 암묵적 기본값을 명시적으로 드러내는 방법을 다뤘다.이번 글에서는 설정 흐름의 가장 깊은 지점, EnvironmentPostProcessor와 ApplicationContextInitializer의 차이를 정리한다.두 개념은 비슷해 보이지만, 잘못 쓰면 설정을 강하게 만들고, 잘 쓰면 설정 흐름을 명확하게 만든다.1) 둘 다 “아주 이른 시점”에 개입한다공통점부터 짚어보자.EnvironmentPostProcessor와 ApplicationContextInitializer는 모두 Bean 생성 이전에 동작한다.즉, 이 시점에서는:Bean ❌의존성 주입 ❌@ConfigurationProperties 바인딩 ❌이 공통점 때문에 두 개념은 자주 혼동된다.하지만 책임은 전혀 다르..

[Spring Boot 공식 문서 정리] 22. ApplicationContext 초기화 커스터마이징 방법

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

반응형