취뽀몽

[Spring] application.yml과 application.properties 차이점 본문

spring

[Spring] application.yml과 application.properties 차이점

허몽구 2023. 2. 18. 14:03

Spring Boot는 설정파일을 application.yml 또는 application.properties 파일을 이용해 직접 작성할 수 있다. 

application.ym은 YAML 형식으로 작성되며, 구조화된 데이터를 표현하는데 적합한 반면

application.properties은 key-value쌍으로 이루어진 프로퍼티 파일 형식이다. 

말로 설명하면 어떤 느낌인지 잘 와닿지 않기 때문에 코드로 한 번 살펴보자.

 

1) application.yml

spring:
    datasource:
        password: password
        url: jdbc:h2:dev
        username: SA

2) application.properties

spring.datasource.url=jdbc:h2:dev
spring.datasource.username=SA
spring.datasource.password=password

위 코드는 같은 설정 방식을 갖는다. 한 눈에 봐도 yml형식이 가독성이 좋고 알아보기 쉽다.

 

application.yml의 장점은 다음과 같다. 

1. 구조화된 데이터를 쉽게 표현할 수 있다.

2. 리스트와 맵 같은 자료형을 사용할 수 있다.

3. 간결한 형식으로 작성할 수 있다.

4. 계층 구조를 사용하기 때문에 가독성을 높여주며 유연성도 높일 수 있다. 

 

application.properties의 장점은 다음과 같다.

1. Key-value형식으로 간단한 프로퍼티를 작성할 때 유용하다.

2. 대부분의 개발자들이 익숙해하는 형식이다.

 

즉, application.yml은 구조화된 데이터를 다룰 때 보다 편리하며 application.properties은 간단한 프로퍼티를 다룰 때 보다 유용하다. 

 

개인적으로 둘 다 사용해보면서 application.yml형식이 훨씬 취향에 맞는 것 같았다. 

우선 가독성이 높은 게 한 몫 했고, 일일이 적어주는 귀찮음도 덜어주기 때문에... 더 선호하는 듯 하다.

뭐 각자 취향이 있으니, 자신에 맞는 설정 방식 사용하면 될 것 같다. 

 

참고로 관련하여 코드를 더 보고 싶다면,

https://www.baeldung.com/spring-boot-yaml-vs-properties

을 참고하며 된다.