티스토리 뷰

Spring

Spring boot yaml 파일 사용법

현오쓰 2019. 8. 13. 11:34

YAML

 

YAML을 사용하는 이유(장점)

 1. 프로퍼티스 파일같은 경우는 중복된 코드 삽입

 2. --- 신택스로 파일을 분리할 필요가 없이 한파일내에서 마치 분리해서 사용가능

 3. 보기 편하다

 

 

Spring Boot 에서 YAML파일 사용법

 

설정 같은걸 할필요없이 기존 프로퍼티스 파일 확장자를 yaml으로 수정후 yaml형식에 맞게 사용하면 된다.

application.properties -> application.yaml 으로 Rename 하면 끝이다... 별거 없다.

 

아래 스프링부트 문서에도 나와있다.

https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/htmlsingle/#boot-features-external-config-yaml

 

Spring Boot Reference Guide

This section dives into the details of Spring Boot. Here you can learn about the key features that you may want to use and customize. If you have not already done so, you might want to read the "Part II, “Getting Started”" and "Part III, “Using Spring Boot

docs.spring.io

 

YAML 작성법및 분리방법

 

작성방법은 프로퍼티스 파일 같은경우 가로로 작성했다면 YAML파일은 반대로 세로로 작성을 한다.

아래 코드를 참고해보자.

application:
   version: v1.0.0
   title: test-dev
   

만약 개발 환경과 운영 환경이 다르다고 가정하고 각자 설정파일이 다른경우 yaml파일은 매우 편리하게

*한 파일 내에서 나눌 수 있다. 프로퍼티스는 파일을 2개 만들어야 하는거와 달리!!

아래 코드를 살펴보자.

'---' 가 추가된것을 볼 수 있다. 즉 --- 으로 마치 한 파일 내에서 분리하는 것과 비슷하다.

최종적으로 spring.profiles.actice : 에 어떤 환경을 넣을것인지 개발상황에 맞추면 되겠다.

#개발,운영 공통 설정
application:
   version: v1.0.0
   title: test-dev
 
spring:
  profiles:
    active: dev <-profiles 이름을 적어준다.
    
  thymeleaf:
    cache: false
    mode: HTML  
    
---
#개발 환경
spring:
  profiles: dev
server:
  port: 8080
  
---
#운영 환경
spring:
  profiles: env
server:
  port: 9090

 

 

YAML 단점(개인적인 생각)

단점은 없는것 같다. 굳이 하나를 뽑자면!

개인적인 생각으로.. IDE를 이클립스나 STS를 사용한다면 YAML파일 플러그인을 설치해야된다... 그리고 자동완성 

기능이 없는게 매우 불편!인텔리제이는 바로 사용가능 했음.. 

 

 

 

이상 포스팅을 마치겠습니다. 1년동안 프로퍼티스 파일을 쓰다 YAML으로 교체후 YAML에 너무 익숙해졌습니다.

처음엔 보기가 당연히 어렵지만 금방 익숙해지고 유지보수 하기도 더 좋지 않을까 라는 생각을 합니다. ㅎㅎ