본문 바로가기
Spring Boot

[Spring Boot] application.yml과 application.properties 차이점

by 코딩diary 2024. 12. 8.

application.yml과 application.properties

Spring Boot 프로젝트에서 각종 설정은 application.properties 또는 application.yml 으로 한다. 프로젝트를 생성하게 되면 application.properties가 생성되는데 프로젝트 설정을 application.yml로 하기도 한다. 둘의 차이점은 다음과 같다.

 

 

application.properties

k=value 형태로 이루어져 있다.

계층 구조는 키 이름에 .(점)을 사용해서 표현한다.

server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=name
spring.datasource.password=password

 

application.yml

key:value 형태로 이루어져 있다.

계층 구조를 들여쓰기로 표현한다.

server:
  port: 8080

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: name
    password: password

 

 

가독성

.properties

  - 간단한 설정은 적합하지만 설정 항복이 많아지면 복잡해질 수 있다.

  - 계층 구조를 .(점)으로 표현하기 때문에 보기 어려울 수 있다.

 

.yml

  - 계층적 구조 덕분에 복잡한 설정도 보기 쉽다.

  - 설정 항목이 많아질수록 유리하다.

 

 

주석

.properties

  - 주석은 # 또는 ! 로 시작한다.

.yml

  - 주석은 # 으로 시작한다.

 

 

사용 사례

.properties

  - 단순한 설정이 필요하거나, 기존 시스템과 호환이 중요한 경우

  - 예) 간단한 애플리케이션, 기본 설정 파일

 

.yml

  - 복잡하고 계층적이며 구조화된 설정이 필요한 경우

  - 예) 마이크로서비스 환경, 클라우드 설정

 

 

단순한 설정에는 properties가 간단하고 직관적이다. 하지만 복잡하고 계층적인 설정에는 yml이 가독성이 뛰어나고 관리가 용이하며 중복되는 코드를 줄일 수 있다.