chanhee01 2023. 9. 30. 21:52

스프링은 설정 데이터를 사용할 때 application.properties 뿐만 아니라 application.yml 이라는 형식도 지원한다.

 

사람이 읽기 좋은 형식으로 이루어진 파일이다.

 

 

yml 파일 예시

my:
 datasource:
   url: local.db.com
   username: local_user
   password: local_pw
   etc:
     max-connection: 1
     timeout: 60s
     options: LOCAL, CACHE

application.yml인데 한 눈에 파악하기 쉽기 때문에 yml을 자주 사용한다고 한다.

 

application.properties , application.yml 을 같이 사용하면 application.properties가 우선권을 가진다.

 

둘 다 같이 사용하는건 말이 안되는 것이다. 하나만 사용해야 하며 실무에서는 읽기 편한 yml을 주로 사용한다고 한다.

 

 

 

 

YML과 프로필

my:
  datasource:
    url: local.db.com
    username: local_user
    password: local_pw
    etc:
      maxConnection: 2
      timeout: 60s
      options: LOCAL, CACHE
---
spring:
  config:
    activate:
    on-profile: dev
my:
  datasource:
    url: dev.db.com
    username: dev_user
    password: dev_pw
    etc:
      maxConnection: 10
      timeout: 60s
      options: DEV, CACHE
---
spring:
  config:
    activate:
    on-profile: prod
my:
  datasource:
    url: prod.db.com
    username: prod_user
    password: prod_pw
    etc:
      maxConnection: 50
      timeout: 10s
      options: PROD, CACHE

yml 파일도 위와 같은 방식으로 프로필을 만들 수 있다. yml 은 --- dash( - ) 3개를 사용해서 논리 파일을 구분한다.