HanSol's Oak Cask

Spring Boot 설정 파일 비교: application.yml vs application.properties 차이점 정리 본문

GPT가 말아주는 지식

Spring Boot 설정 파일 비교: application.yml vs application.properties 차이점 정리

HanSol_Lim 2025. 2. 7. 14:49

Spring Boot 프로젝트에서 설정 파일을 다룰 때 application.ymlapplication.properties 두 가지 형식을 사용할 수 있습니다. 두 파일은 기본적으로 동일한 설정을 저장하지만, 표현 방식과 사용성에서 차이가 있습니다. 이번 글에서는 ymlproperties의 차이점을 비교하고, 어떤 상황에서 어떤 파일을 선택하는 것이 좋은지 정리해보겠습니다.


1. application.yml vs application.properties 차이점 비교

비교 항목application.ymlapplication.properties

파일 형식 YAML (계층적) Key-Value (평면적)
가독성 가독성이 높음 (계층 구조 표현 가능) 단순한 Key-Value 구조로 간결함
주석 방식 # 또는 --- #
배열 표현 -를 사용하여 리스트 표현 가능 인덱스를 명시적으로 사용해야 함
네이밍 컨벤션 들여쓰기로 계층 구조 표현 점(.)을 이용해 계층 구조 표현
Spring 공식 권장 Spring Boot에서는 yml을 선호 기존 프로젝트에서는 properties가 많이 사용됨

2. 예제 코드 비교

(1) application.properties 예제

server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=1234

logging.level.org.springframework=DEBUG

my.custom.list[0]=item1
my.custom.list[1]=item2
my.custom.list[2]=item3
  • Key-Value 방식으로 구성됨.
  • 계층 구조가 .(dot)으로 표현됨.
  • 리스트 표현 시 인덱스를 직접 명시해야 함.

(2) application.yml 예제

server:
  port: 8080

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: 1234

logging:
  level:
    org:
      springframework: DEBUG

my:
  custom:
    list:
      - item1
      - item2
      - item3
  • 들여쓰기와 계층 구조를 활용하여 설정을 구조적으로 표현 가능.
  • 배열 표현이 직관적(- 사용).
  • 가독성이 높고 설정이 길어질수록 유지보수가 용이함.

3. 언제 어떤 것을 사용해야 할까?

상황 추천 파일
설정이 단순하고 Key-Value 구조가 익숙한 경우 application.properties
계층적 구조가 많거나 리스트/배열이 필요한 경우 application.yml
가독성과 유지보수를 고려해야 하는 경우 application.yml
기존 프로젝트가 properties 기반으로 작성된 경우 application.properties

Spring Boot에서는 application.yml을 공식적으로 추천하지만, 기존 시스템과의 호환성 또는 개인 취향에 따라 application.properties를 사용할 수도 있습니다.


4. 결론

Spring Boot 프로젝트에서 설정 파일을 선택할 때 ymlproperties의 차이를 이해하는 것이 중요합니다.

  • 새로운 프로젝트에서는 application.yml이 가독성과 유지보수 측면에서 유리합니다.
  • 기존 프로젝트properties 기반이라면 일관성을 유지하는 것이 좋습니다.

결론적으로, 프로젝트의 규모와 복잡성, 팀의 코드 스타일에 맞춰 적절한 방식을 선택하는 것이 가장 중요합니다.

📌 여러분은 어떤 설정 파일을 더 선호하시나요? 댓글로 의견을 남겨주세요! 😊