스프링 부트 프로젝트에서 application.properties와 application.yml 파일이 동시에 존재할 경우, 스프링 부트는 두 파일을 모두 읽어들입니다. 설정은 다음과 같은 규칙에 따라 적용됩니다:
- 우선순위: 스프링 부트는 application.properties와 application.yml 파일의 설정을 병합하여 사용합니다. 만약 동일한 설정 키가 두 파일에 모두 존재하면, application.properties 파일의 설정이 우선적으로 적용됩니다.
- 병합 방식: 두 파일의 설정은 병합됩니다. 즉, 두 파일에 중복되지 않은 설정 키들은 모두 적용되며, 중복된 설정 키는 앞서 언급한 우선순위 규칙에 따라 적용됩니다.
예를 들어, 아래와 같은 두 파일이 있을 때:
# application.properties
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
# application.yml
server:
port: 9090
spring:
datasource:
username: user
password: pass
- server.port: 8080 (우선순위에 따라 application.properties 파일의 값이 적용됨)
- spring.datasource.url: jdbc:mysql://localhost:3306/mydb
- spring.datasource.username: user
- spring.datasource.password: pass
따라서, 두 파일이 모두 존재하면 설정의 병합과 우선순위 규칙을 잘 이해하고 관리하는 것이 중요합니다.