Skill/spring
spring-cloud-starter-bootstrap의 역할
진열사랑
2025. 5. 8. 11:35
spring-cloud-starter-bootstrap의 역할은 Spring Cloud Config와 같은 외부 설정 소스를 애플리케이션이 시작될 때 가장 먼저 로드할 수 있도록 도와주는 기능을 추가하는 것입니다. 구체적으로 설명하면 다음과 같습니다:
✅ 주요 역할
1. bootstrap.yml 또는 bootstrap.properties 파일 인식
- Spring Boot 기본 설정(application.yml)보다 먼저 로드되는 bootstrap.yml 파일을 사용할 수 있게 해줍니다.
- 외부 설정 서버(Spring Cloud Config 등)의 정보를 bootstrap.yml에 넣어야 하는 이유가 여기에 있습니다.
2. Spring Cloud Config 서버와의 연동 지원
- Config Server로부터 설정을 불러오는 기능은 이 스타터에 포함된 의존성 (spring-cloud-context, spring-cloud-config-client)에 의해 가능해집니다.
- spring.application.name, spring.cloud.config.uri 같은 설정들이 초기 단계에 적용됩니다.
3. 환경 설정의 우선순위 관리
- Spring Boot의 EnvironmentPostProcessor를 사용하여 부트스트랩 단계에서 외부 설정을 Spring Environment에 주입합니다.
- 결과적으로 나중에 로드되는 application.yml보다 우선 적용됩니다.
📌 사용 예시 (bootstrap.yml)
spring:
application:
name: my-service
cloud:
config:
uri: http://localhost:8888
failFast: true
⚠️ 참고: Spring Cloud 2020 이후 버전에서는
- bootstrap.yml은 더 이상 필수가 아니며, config.import 구문을 사용하는 방식으로 변경되었습니다.
- 예:
-
yaml복사편집spring: config: import: configserver:http://localhost:8888
따라서 Spring Cloud 2020.x 이상을 사용하는 경우 spring-cloud-starter-bootstrap 없이도 외부 설정을 가져올 수 있습니다.