properties, yml, yaml모두 설정파일 형식이다.
차이없다
YAML(YAML Ain't Markup Language)파일형식으로 동일하다.
다만 몇몇시스템에서 확장자명을 3글자로 통일시키던 버릇이 있어 .yaml을 .yml로 썼었다. .html을 .htm으로 쓰던것 마찬가지.
공식적으로는 .yaml을 더 권장한다.
Spring Boot에서는 .yml, yaml형식 모두 지원한다.
yaml은 계층형태로 표현하고
properties는 평면적 형태로 표현한다.
ex) properties
example.jdbc.url=127.0.0.1
example.jdbc.port=3306
example.jdbc.user=user
...
ex) yaml
example:
jdbc:
url:127.0.0.1
port:3306
user:user
yaml은 불필요한 기호들이 최소한으로 들어가 계층구조로 나타낼때 가독성이 좋다.
properties는 간단한 설정파일에서 사용해 직관적으로 보기좋다.
yaml은 #을사용. properties는 #과 !(잘안쓰이긴함)를 사용한다.
ex) json
{
"key":"value",
"a":"1",
"b":"2"
}
ex) yaml
a:b
key:value
yaml은 json의 완전 상위호환이기때문에 기존 json문서를 그대로 yaml파일로 사용할 수 있다.
yaml을 json으로 변환할수도있다.