본문 바로가기

Programming/Web

[Web] application.properties / application.yml

 

application.properties / application.yml 파일이란? 

 

 

  1.  properties 와 yml 파일 용도

 

    -  application.properties 또는 application.yml 은 외부 설정값을 관리하는 파일

 

    -  프로젝트 외부에서 특정 값을 받아와야 하는 경우, Ex) AWS나 외부 API를 사용하기 위한 secret key, API key가 있으며, 이러한 외부 설정값 등을 관리할 수 있다.

 

 

  2.  YAML(YAML Ain't Markup Language)

 

    (1)  YAML 파일 구성

 

      -  YAML은 모든 데이터를 리스트, 해쉬, 스칼라 데이터 조합으로 만들며,

 

      -  들여 쓰기 및 XML의 특수기호를 사용해 XML과 거의 비슷하다.

 

    (2)  yaml, yml 파일의 장점

 

      -  계층 구조 표현 -> 가독성 좋음 -> 불필요한 소스 중복 제거

 

      -  들여쓰기, 띄어쓰기로 구분하여 깔끔하다.

 

 

application.properties / application.yml 파일의 차이

 

 

  1.  application.properties

 

    -  Spring boot 애플리케이션 프로젝트에서, resource 디렉토리 하위에 자동 생성되는 파일

 

    -  .properties 파일의 포맷 -> name = value

 

 

  2.  application.yml 

 

    -  properties 파일과 달리, 계층 구조 형식으로 값을 지정 가능

 

    -  prefix 중복 제거 가능

 

    -  .yml 파일을 사용하기 위해 -> SnakeYAML 라이프러리가 포함되어야 함

 

   -> 일반적으로, spring-boot-starter 의 의존성은 기본적으로 제공해줌.

 

 

   + ) application.properties와 application.yml 이 같이 있을 경우 -> .properties 파일이 우선권을 갖는다.

 

 

 

 

참고

 -  https://sillutt.tistory.com/entry/IntelliJ-applicationproperties-%EA%B3%BC-applicationyml%EC%9D%98-%EC%B0%A8%EC%9D%B4?category=365562