[SpringBoot] 설정 파일

Coastby·2022년 11월 6일
0

LIKELION Back-End School

목록 보기
53/61

어플리케이션을 실행하면 다음 위치에 있는 application.properties 설정 파일을 읽어들인다.

  1. 현재 디렉터리의 /config 서브 디렉터리
  2. 현재 디렉터리
  3. 클래스 경로의 /config 패키지
  4. 클래스 경로의 루트

위에서부터 순서대로 우선 순위가 높게 설정되어 있어 여러 설정 파일이 존재할 때는 순위가 우선인 설정값으로 덮어 쓰인다.

설정 파일은 프로파일 (profile)이라는 단위로 별도의 설정을 가진다. 개발 환경, 프로덕션 환경 등 환경별로 설정을 나누고 싶은 경우에는 application-{profile}.properties의 명명 규칙으로 설정 파일을 만든다.

설정 파일의 작성 형식은 YAML 로도 가능하다.

스프링 부트에서는 명령줄 인수나 환경 변수 등 다양한 외부 설정 파일을 사용할 수 있다. 설정이 활성화되면 우선 순위에 따라 순위가 높은 설정 방법의 값이 사용된다.

환경 변수로 설정값을 전달하는 경우 대문자의 스네이크 케이스로 지정한다.

# 환경변수로 설정값 전달하기
$ SPRING_APPLICATION_JASON='{"acme":{"name":"test"}}' java -jar
myapp.jar

# 시스템 속성으로 설정값 전달하기
$ java -Dspring.application.json='{"name":"test"}' -jar myapp.jar

# 명령줄 인수로 설정값 전달하기
$ java -jar myapp.jar --spring.application.json='{"name":"test"}'

✏️ YAML이란?

YAML은 구성 파일 작성에 자주 사용되는 데이터 직렬화 언어이다. Yet Another Markup Language 또는 YAML Ain't Markup Language (재귀 약어)로 생각하는 사람도 있다. 후자는 YAML이 문서가 아닌 데이터용임을 강조하는 말이다.

YAML은 사람이 읽을 수 있고, 이해하기 쉬워 프로그래밍 언어 중에서도 인기가 높다. 또한 다른 프로그래밍 언어와 함께 사용할 수도 있다. 쿠버네티스에서도 API를 전송할땐 JSON 규격도 사용되지만 일반적으로 yaml을 권장하고 있다.

문법

profile
훈이야 화이팅

0개의 댓글