본문 바로가기
그룹스터디

properties vs yaml

by 민초닷컴 2023. 1. 27.

Properties

1. 형식

spring.datasource.url=jdbc:h2:dev

spring.datasource.username=SA

spring.datasource.password=password

key-value 형식을 사용한다.

 

2. List 구조

application.servers[0].ip=127.0.0.1 application.servers[0].path=/path1

application.servers[1].ip=127.0.0.2 application.servers[1].path=/path2

application.servers[2].ip=127.0.0.3 application.servers[2].path=/path3

값이 다른 동일한 종류의 속성이 있는 경우 배열 인덱스로 List 구조로 나타낸다.

 

3. 여러 프로필

logging.file.name=myapplication.log

bael.property=defaultValue

#---

spring.config.activate.on-profile=dev

spring.datasource.password=password

spring.datasource.url=jdbc:h2:dev

spring.datasource.username=SA

bael.property=devValue

#---

spring.config.activate.on-profile=prod

spring.datasource.password=password

spring.datasource.url=jdbc:h2:prod

spring.datasource.username=prodUser

bael.property=prodValue

문서를 분할 할 위치를 나타내기 위해 '# ---'표기법을 사용한다.

YAML

1. 형식

spring:

datasource:

password: password

url: jdbc:h2:dev

username: SA

계층적 구성 데이터를 지정하기 위한 편리한 형식을 사용. 반복되는 접두사가 포함되지 않으므로 대체 속성 파일보다 더 읽기 쉽다.

 

2. List 구조

application:

servers:

  • ip: '127.0.0.1' path: '/path1'
  • ip: '127.0.0.2' path: '/path2'
  • ip: '127.0.0.3' path: '/path3'

List을 표현하기 위한 보다 간결한 형식

 

3. 여러 프로필

logging:

file:

name: myapplication.log

---

spring:

config:

activate:

on-profile: staging

datasource:

password: 'password'

url: jdbc:h2:staging

username: SA

bael:

property: stagingValue

새 문서의 시작을 나타내기 위해 세 개의 대시(---)를 사용