블로그 이름

[Spring] application.properties와 application.yml의 차이 본문

개발/Spring

[Spring] application.properties와 application.yml의 차이

Hide 2025. 9. 28. 22:07

Spring Boot 설정 파일에 application.properties로 작성할지, application.yml로 작성할지 고민하는 경우가 있다.

두 파일 모두 외부 설정을 관리하기 위해 사용하는데, 문법과 가독성 측면에서 차이가 존재한다.

 

application.properties

server.port=8080
spring.datasource.url=jdbc:mariadb://localhost:3306/testdb
spring.datasource.username=testuser
spring.datasource.password=1234
logging.level.org.springframework=DEBUG

Key=Value 형식으로 작성한다. 단순하여 한눈에 보기 편하지만, 계층적인 구조를 작성하는데 불편함이 있다. 전체 경로를 확인하기 편하나, 전체 경로를 작성해야 하므로 불편하다.

 

application.yml

server:
  port: 8080

spring:
  datasource:
    url: jdbc:mariadb://localhost:3306/testdb
    username: testuser
    password: 1234

logging:
  level:
    org.springframework: DEBUG

들여쓰기로 계층 구조를 표현하며, 같은 Prefix를 여러번 쓰지 않아도 된다는 장점이 있다. JSON과 유사한 계층적 구조라 가독성이 좋다. 복잡한 구조 표현에 유리하지만 들여쓰기/공백 실수에 주의하여야 한다.

 

설정이 적고 간단하다면 application.properties를, 설정 항목이 많고 가독성이 중요한 경우 application.yml을 사용한다.작으면 properties, 크고 복잡하면 yml 로 설정하면 된다. 프로그램이 커질 가능성을 생각한다면 yml으로 작성하는 것이 좋다.
스프링부트에서 프로젝트 생성 시 application.properties 가 자동 생성되는데, 확장자를 yml으로 변경하면 yml 파일로 사용할 수 있다.

 

다만 주의해야 할 점은 properties와 yml을 함께 사용한다면 properties 파일이 우선순위가 높아 yml 설정이 덮어써질 수 있다. 둘 중 한가지만 사용하는 것이 좋다.