[SpringBoot] properties vs yml

문정현·2023년 11월 2일
0

Spring Boot 프로젝트에서 각종 설정들을 할때는 application.properties 혹은 application.yml 파일에 작성하여 환경설정을 한다. 오늘은 둘의 차이점과 나는 어떤걸 사용할지 정리해볼려고 한다

Properties VS yml

둘의 가장 대표적인 차이점이라고 한다면 내부 구조이다. properties의 경우엔 각 줄마다 key=value의 형태로 이루어져 있지만 yml의 경우엔 들여쓰기로 구분되는 계층 구조와 key:value의 형태가 그 차이이다. 이해를 위한 간략한 mySql 설정 예시를 살펴보자

properties설정

spring.datasource.url=jdbc:mysql://localhost:3306/스키마명?useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=아이디
spring.datasource.password=비밀번호
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

yml

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:{포트번호}/{데이터베이스 이름}?useSSL=false&serverTimezone=Asia/Seoul&characterEncoding=UTF-8
    username: root
    password: {root password}

같은 설정을 하고 있지만 properties에 일일이 나열했던 구조를 yml에서 상위에서 한 번만 작성하고 하위에 공통되는 구조에 값을 설정하는 형식이다.

주의해야 할 점으로는 properties와 yml파일 모두 존재할 경우 properties의 우선순위가 높아 properties 파일이 yml 파일에서 설정한 내용을 덮어버릴 수 있다 때문에 둘다 사용하는 것 보단 하나만 채택하는 것이 권장된다고 한다.

나의 선택은?

개인적인 의견으로는 yml의 구조가 더 파악하기 쉽고 중복되는 코드도 줄일 수 있기 때문에 yml을 채택하고자 한다.

profile
주니어 개발자

0개의 댓글