본문 바로가기
Spring boot

[Spring Boot] - application.yml 설정하기 (application.properties와의 차이점)

by 개발 고양이 2025. 2. 6.

Spring boot로 프로젝트를 생성하면, appication.properties라는 파일이 resource 폴더 안에 생성된 것을 확인할 수 있다. 하지만 많은 Spring boot 강의에서, application.properties를 사용하지 않고, application.yml이라는 파일로 대체해서 사용한다. 오늘은 application.yml이 어떤 기능에 쓰이는지, 그리고 application.properties와의 차이점은 무엇인지 알아보려고 한다. 


application.properties와 application.yml이란?

스프링 부트가 실행되면 자동으로 로딩되는 파일이다. 

스프링 부트 프로젝트 내에서 공통적으로 설정되는 정보들을 관리하기 위한 파일이다. 또한, 프로젝트 개발 시 외부에서 데이터나 특정 값을 받아와야 하는 경우 설정값들을 관리할 때에도 사용한다.

 

application.properties

application.properties는 Key와 Value의 쌍으로 구성된 파일로, = 기호를 사용하며 키와 값을 구분한다. 

application.properties 예시

 

 

application.yml

application.yml은 YAML 파일이라고 부르며, 데이터를 계층적으로 표현한다.

아래는 위의 application.properties를 yml 형식으로 변환한 예시이다. 

application.yml 예시

 

 

 

 

yml을 권장하는 이유

yml은 계층 구조로 이루어져 있어 불필요한 코드를 줄일 수 있고, 가독성이 좋다. 

 

아래는 application.properties에서 spring.jpa를 설정하는 구문이다.

왼) application.properties / 오) application.yml

 

기초적인 세팅만 한 상태라 코드의 양이 많지는 않지만, properties 파일의 경우 spring.jpa. 부분을 계속 써줘야 하는 번거로움이 있다. 

 

참고로 properties나 yml 파일에서 주석을 사용하려면 # 기호를 써주면 된다!


properties나 yml 파일 중 어떤것을 써도 문법만 지켜준다면 문제없이 적용되므로, 편한 것을 사용하면 된다.

하지만 주의할 점이 있다. 두 파일이 동시에 있는 경우, yml 파일보다 properties 파일이 더 우선적으로 적용되므로, yml 파일에서 설정한 내용이 properties 파일에 의해 덮어씌워질 수 있다. (그래서 보통 둘 중 하나의 파일만 사용하는 것이 권장된다.)