Hello

Spring properties vs YAML 본문

spring

Spring properties vs YAML

nari0_0 2023. 9. 18. 16:59
728x90

Spring Boot는 설정을 application.properties 또는 application.yml 파일을 통해 작성합니다. Intellij에서 Spring Initializr project를 만들면 application.properties가 기본 생성됩니다. 설정 관련 검색을 하면서 yml을 사용한 내용이 많이 보였습니다. 최근에 많은 사람이 yml을 사용하며 편리하다는 의견이 많아 인기있는 이유와 이 둘의 차이를 정리 해보려고 합니다.

.yml 예제

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    username: test
    url: jdbc:mysql://127.0.0.1:3306/test_db
    password: test1234
logging:
  level:
    org:
      hibernate: debug
server:
  name: a_server
  port: '9090'

servers:
  - www.abc.test.com
  - www.xyz.test.com
  
external: [www.abc.test.com, www.xyz.test.com]
map:{firstkey=key1, secondkey=key2}

.properties 예제

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=test
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test_db
spring.datasource.password=test1234

logging.level.org.hibernate=debug

server.name=a_server
server.port=9090

servers[0]=www.abc.test.com
servers[1]=www.xyz.test.com

external=www.abc.test.com, www.xyz.test.com

YAML은 동일한 파일에 여러 프로필을 포함할 수 있습니다. properties file은 Spring Boot 2.4.0 이후 부터 지원됩니다.

YAML은 계층적 구조를 가지고 있어 동일한 구성을 한번만 작성 하고 들여쓰기로 계층 구조가 구분 됩니다.

+) List, Map 구조 표현에서도 차이를 보입니다.

 

YAML이 인기 있는 이유!

  • 자료 구조(map, list) 쉬운 구성 가능
  • 계층 구조로 직관적이다
  • 중복 코드를 줄일 수 있다

참고 : https://www.baeldung.com/spring-yaml-vs-properties

728x90