Search

application.properties vs application.yml

생성일
2024/12/04 08:22
태그

직접 검색 결과

.properties

내부구조
key=value 형태로 구분

.yml

내부구조
들여쓰기로 구분
구조의 차이, 우선순위는 properties가 갖기 때문에, 둘 중 한쪽만 사용하는 것 권장
yml 파일 형식 체크 사이트
이미 작성된 yml 또는 properties 파일 변환 시 

ChatGPT 결과

application.propertiesapplication.yml은 Spring Boot에서 애플리케이션 설정을 정의하기 위해 사용되는 두 가지 구성 파일 형식입니다. 둘 다 동일한 목적을 가지고 있으며, 설정 방식을 다르게 표현합니다.

1. application.properties

형식: 키-값 쌍 (Key-Value)
특징:
간단한 텍스트 형식.
각 설정 항목을 한 줄에 표현.
문법:
properties 코드 복사 server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=root spring.datasource.password=secret
Plain Text
복사
중첩된 구조나 계층적 데이터는 **.(점)**으로 표현.
properties 코드 복사 spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username=user@gmail.com spring.mail.password=secret
Plain Text
복사

2. application.yml

형식: YAML (YAML Ain't Markup Language)
특징:
계층 구조를 들여쓰기로 표현.
복잡한 설정 구조를 직관적으로 작성 가능.
문법:
yaml 코드 복사 server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/mydb username: root password: secret mail: host: smtp.gmail.com port: 587 username: user@gmail.com password: secret
YAML
복사

3. 차이점

특징
application.properties
application.yml
가독성
간단한 구성은 가독성이 좋음
계층 구조 표현에 유리함
구조적 표현
계층적 데이터 표현이 어려움
들여쓰기로 계층 표현 가능
문법 간결성
간결하지만 중복된 접두사 사용이 많음
직관적이고 중복 줄이기 가능
파일 크기
키-값 쌍으로 작성되어 크기가 작음
YAML의 표현 방식으로 다소 커질 수 있음
에러 처리
잘못된 구문이 있을 때 Spring이 감지 어려움
들여쓰기 오류가 명확히 드러남

4. 어떤 것을 사용해야 할까?

간단한 프로젝트:
application.properties 사용.
직관적이고 설정 파일 관리가 쉬움.
복잡한 설정 (계층적 데이터 필요):
application.yml 사용.
설정이 많고 계층적으로 관리할 필요가 있을 때 더 적합.

5. 함께 사용 가능:

Spring Boot는 application.propertiesapplication.yml을 동시에 사용할 수 있습니다.
하지만, 우선 순위는 다음과 같습니다:
1.
application.properties
2.
application.yml
두 파일에 동일한 설정이 있으면, application.properties의 설정이 우선 적용됩니다.

6. 추천:

단순한 프로젝트: application.properties
복잡하고 가독성이 중요한 프로젝트: application.yml
둘 다 프로젝트 상황과 선호도에 따라 선택 가능합니다.