[Spring] 스프링에서 YAML(application.yml) 설정 파일 사용

반응형
YAML이란? 
 

YAML이란? (JSON, XML과 비교)

XML과 JSON 기존에는 XML, JSON 파일 포맷으로 데이터를 저장하고 주고 받는데 했었다. 하지만 이 두 파일 포맷은 정해진 포맷 규칙 때문에 데이터가 많아진다면 작성하기가 번거롭고 읽기가 힘들다

hstory0208.tistory.com


application.yml

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

 

application.properties에 다음과 같은 옵션 설정이 있을 때 YAML로 변환하면 다음과 같다.

주의할점

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

설정 정보가 많아서 보기 편한 yml을 사용하는게 더 좋을 것이다.

 

YML 프로필 설정

YML에도 프로필을 적용할 수 있다.

 

yml 은 --- dash( - ) 3개를 사용해서 논리 파일을 구분한다.

spring.config.active.on-profile을 사용해서 프로필을 적용할 수 있다.

my:
  test:
    url: test.db.com
    username: hyunlog
    password: 12341234
    maxConnection: 2

---
spring:
  config:
    activate:
      on-profile: dev
my:
  test:
    url: dev.db.com
    username: dev_user
    password: dev1234
    maxConnection: 10

---
spring:
  config:
    activate:
      on-profile: prod
my:
  test:
    url: prod.db.com
    username: prod_user
    password: prod1234
    maxConnection: 50

 

JAR 파일 실행시 application.properties와 동일하게 프로필을 선택하여 실행하여 운영환경과 개발환경을 구분할 수 있다.