IT 공부내용 정리/배포(docker, 젠킨스)

yml 파일과 properties파일의 차이

따뜻한 차가움 2025. 12. 1. 21:11

내가 spring boot를 배울 때는 properties 파일을 이용해서 작성하였다.

특정한 '키'에 해당하는 '값'을 작성하면 1:1로 해당 값을 적용하거나 변경할 수 있는 방식이다.

 

다만 yml(yaml) 파일의 경우. 들여쓰기를 통한 종속성을 표기한다.

현재 문장이 윗 문장보다 들여쓰기가 되어있다면 그건 현재문장이 윗 문장에 종속된다는 뜻이며,

현재 문장이 윗 문장과 동일한 들여쓰기라면 수평적 관계, 혹은 같은 소속임을 나타낸다.

 

예시로 나타내면

db:
  image: mysql:8.0
  environment:
    MYSQL_ROOT_PASSWORD: mysecret
  volumes:
    - ./mysql_data:/var/lib/mysql

 

이런 식으로 작성할 수 있다.

 

db 라는 객체에 대한 정보는 동일한 들여쓰기, 즉 아무런 들여쓰기가 없는 문장이 나오기 전까지 작성되며

image, environment, volumes 라는 속성을 가진다.

그리고 그 값들에 대한 추가적인 설명은 그 속성들의 들여쓰기된 값들이다.

 

따라서 들여쓰기가 매우매우매우매우! 중요하다. 들여쓰기가 안되면 그냥 의미없는 값들의 나열이 되는 것이다.

 

 

properties의 경우 1:1로 명확한 값을 간단하게 정의할 때 유용하며

yml파일의 경우 복잡한 정보를 계층을 활용하여 작성하기 쉽고, 보기 쉽게 만들 때 유용하다고 할 수 있겠다.