Spring Boot - 설정파일 : application.yml

이정수·2025년 10월 21일

Spring Boot

목록 보기
12/25

application.yml
Applicationlog level , profile , actuator 등 의 많은 세부설정을 정의하는 configuration file

。외부에서 어노테이션 등으로 인해 값의 참조가 가능하므로 민감한 정보는 application.yml에 작성하지 않는다.
property placeholder를 통해 ${환경변수명}으로 설정하여 환경변수로 입력되도록 설정

  • Springconfiguration file을 읽는 순서
    bootstrap.yml -> application.yml -> application-프로필.yml

    bootstrap.ymlMSA에서 config server 연동 시 사용

    Spring Boot 는 활성화된 Profile(application-{profile}.yml)을 다음 위치에서 찾음
    src/main/resources, src/test/resources

property placeholder : ${상위경로.프로퍼티명}
Spring에 설정된 실제 property의 값을 가져와서 치환하는 기능을 수행

kt:
  cloud: 11
name: ${kt.cloud:12} # 11로 설정 및 kt.cloud가 없으면 12
  • ${프로퍼티명} : 프로퍼티가 없는경우 에러
  • ${프로퍼티명:대체값} : 프로퍼티가 없는경우 대체값으로 설정

  • Edit Configuration - Environment Variable에서 해당 프로퍼티에 대한 값을 설정 할 수 있다.
    ex ) ${PASSWORD}인 경우 PASSWORD:1234 설정
    환경변수 값 설정

classpath:/자원명
。해당 이름의 자원프로젝트Class경로 상에서 찾도록 하는 키워드

  thymeleaf:
    prefix: classpath:/templates-${active.profiles}/

active.profiles=dev로 설정된 경우
prefix프로젝트 내 실제경로/template-dev/로 설정

서버 포트 번호 설정
server:port:0으로 설정 시 Spring이 임의로 포트번호를 할당
포트번호의 중복을 방지가능.

server:
  port: 0

spring:config:import
。추가적인 환경이 정의된 yml 파일어플리케이션런타임에서 읽어와서 현재 환경병합하는 역할을 수행

。지정한 순서대로 로딩 및 뒷순서에 있는 파일이 우선순위가 더 높으므로 동일 프로퍼티에 대해 덮어쓰기가 수행

spring:
  config:
    import:
      - classpath:common.yml
      - optional:classpath:special.yml
      - file:/etc/app/external.yml
        
profile
공부기록 블로그

0개의 댓글