프로그래밍/Spring

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

2022. 10. 11. 23:32
목차
  1. 배경
  2. 개념
  3. 차이
  4. 결론

배경

Spring을 공부하고 있다면 어쩔 수 없이 마주치는 것이 .yml과. properties이다.

겉으로 보기엔 별 차이가 없어 보여서 도대체 무슨 차이가 있는 건지 궁금해서 찾아해보았다.

개념

먼저 둘의 공통점을 말하자면 포트, 데이터베이스 연결 정보 등의 프로그램이 실행되는데 필요한 구성 속성을 갖고 있는 파일이다.

이것을 사용하는 이유는 타 시스템과 연동할 때 생기는 문제를 방지하기 위해서이다.

개인마다 변수명을 정하거나 메서드를 만드는 것처럼 데이터를 표현하는 방식은 다르기 때문에 이러한 서로 다른 방식들을 통일시키고 관리하기 쉽게 그리고 가독성을 높이기 위해 사용한다.

차이

YAML(.yml) .properties
스펙을 찾을 수 있다(링크) 자체적으로 스펙을 알 수 있는 사이트가 없다. 그나마 알 수 있는 방법은 javadoc 이다.
Human Readable 하고 가독성이 비교적 좋다. Human Readable 하다.
Key/Value, Map, List 등을 지원한다. Key/Value 와 문자열만 지원한다.
Python, Ruby, Java와 같은 언어들에 많이 쓰인다. 오직 자바에만 쓰인다.
Spring Framework는 .yml 파일이 있는 @PropertySources를 지원하지 않는다. .properties 파일이 있는 @PropertySources를 지원한다.
Spring Profile을 쓴다면 하나의 YML에 여러 개의 profile을 가질 수 있다. 각각의 profile은 하나의 properties 파일만을 갖는다
configuration에 있는 해당 자료형(int, string 등)에 맞는 값을 얻을 수 있다. .properties 파일에 있는 실제 값 유형에 관계없이 문자열만을 얻는다.

결론

YAML은 properties에 비해 여러 언어에 쓰이고 같은 configuration 파일을 여러개의 애플리케이션이 읽을 수 있으며
계층 구조이기 때문에 가독성에 이점이 있다는 것을 알 수 있다.

<출처>
https://www.geeksforgeeks.org/difference-between-yaml-yml-and-properties-file-in-java-springboot/

 

 

저작자표시 (새창열림)

'프로그래밍 > Spring' 카테고리의 다른 글

[Spring] Spring Cloud Eureka Server를 만들어보자  (0) 2022.10.10
[Spring] Deprecated 된 WebSecurityConfigurerAdapter  (1) 2022.07.13
템플릿 캐싱에 대해  (0) 2022.06.14
  1. 배경
  2. 개념
  3. 차이
  4. 결론
'프로그래밍/Spring' 카테고리의 다른 글
  • [Spring] Spring Cloud Eureka Server를 만들어보자
  • [Spring] Deprecated 된 WebSecurityConfigurerAdapter
  • 템플릿 캐싱에 대해
옥탑방고래
옥탑방고래
개발 관련 정보 정리중
옥탑방고래
고래의 코딩일지
옥탑방고래
전체
오늘
어제
  • 분류 전체보기 (67)
    • 프로그래밍 (15)
      • Java (1)
      • Spring (4)
      • AWS (0)
      • Git (1)
      • Docker (4)
      • k8s (1)
      • 오류보고 (4)
    • 데이터베이스 (2)
      • RDB (2)
      • NoSQL (0)
    • 알고리즘 (8)
      • 알고리즘 (3)
      • 코딩테스트 (1)
    • CS (35)
      • 자료구조 (6)
      • 네트워크 (27)
      • 개발지식 (2)
    • 개발 관련 소식 (0)
    • 포트폴리오 (0)
    • 일상 (4)
    • 오답 정리 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • java
  • 리스트
  • MySQL
  • 클래스리스
  • IT 엔지니어를 위한 네트워크 입문
  • Spring
  • IT 네트워크를 위한 네트워크 입문
  • 알고리즘
  • 중위표기법
  • 네트워크
  • 템플릿 캐싱
  • 오답정리
  • vpn
  • DDoS 방어 장비
  • 정렬
  • 오류
  • Spring Devtools
  • docker
  • 리눅스마스터2급
  • 스위치
  • 수식트리
  • 트리
  • 클래스풀
  • JUnit
  • 뇌를 자극하는 알고리즘
  • 브로드캐스트 스톰
  • IT엔지니어를 위한 네트워크 입문
  • 커리어콘
  • 라우터
  • 자료구조

최근 댓글

최근 글

hELLO · Designed By 정상우.
옥탑방고래
[Spring] application.yml과 application.properties 차이
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.