티스토리 뷰
YAML(YAML Ain't Markup Language)은 무엇을 의미할까요?
재귀적인 유머를 가진 이 단어는 사람이 쉽게 읽을 수 있는 데이터 직렬화 양식입니다.
.yml, .yaml 확장자를 가지며 들여쓰기를 통한 계층 구조를 가짐으로써
사람이 읽기 좋은, 사람이 편한 설정 파일입니다.
yaml 파일과 다른 설정 파일의 비교를 통해 편리함을 강조해보자면
application.properties
-> 스프링부트가 애플리케이션을 구동할 때 자동으로 로딩하는 파일
-> key - value 형식으로 값을 정의하면 애플리케이션에서 참조하여 사용 가능
environments.dev.url=https://dev.example.com
environments.dev.name=Developer Setup
environments.prod.url=https://another.example.com
environments.prod.name=My Cool App
현재 위와 같은 설정 파일을 사용한다고 했을 때
yaml을 사용한다면
environments:
dev:
url: "https://dev.example.com"
name: "Developer Setup"
prod:
url: "https://another.example.com"
name: "My Cool App"
다음과 같이 가독성이 좋게 바꿀 수 있는 것입니다!
물론 코드의 길이가 짧아 별로 차이를 느끼지 못할 수 있지만
실제 배포가 될 정도의 애플리케이션은 설정 파일이 매우 길어질 수 밖에 없기 때문에
yaml 설정 파일을 사용하여 눈과 정신을 이롭게 하는 것이 좋습니다!
번외) application.properties vs application.yaml
스프링은 설정 정보를 읽어올 때 properties 확장자를 제일 우선적으로 찾는다.
그렇기 때문에 설정 정보를 나눠서 쓰지 말고 한 곳에만 작성하자! (기왕이면 yaml 파일에..!)