본문 바로가기

Back-End 공부/Spring

application.properties와 application.yml 환경 설정 변경

resource > application.properties

키-값 쌍 형식으로 구성된 환경 설정파일.

데이터베이스 연결, 포트번호 설정 등 Spring Boot 애플리케이션의 동작 및 환경 설정을 정의한다.

ex) server.port = 8081

 

 

일반적으로 확장자를 .yml으로 변경해서 많이 쓴다. => application.yml

yml, yaml => 실무에서 "야믈파일"로 불린다.

  • 설정 항목은 들여쓰기로 계층 구조를 나타내며, 키와 값은 콜론(:)으로 구분
  • json과 비교하여 주석을 지원하는 장점

 

 

💡application.properties 

server.port=8081
spring.datasource.url=jdbc:mariadb://localhost:3306/member
spring.datasource.username=root
spring.datasource.password=1234

 

 

💡application.yml

server:
  port: 8081

spring:
  datasource:
    url: jdbc:mariadb://localhost:3306/member
    username: root
    password: 1234

 

 

 

다른 서버 환경 구성을 추가하고 싶을 때,

yml 파일 내에서 --- 키워드를 통해 prod, dev 환경을 구분한다.

server:
  port: 8081
spring:
  profiles:
    active: dev
  datasource:
    url: jdbc:mariadb://localhost:3306/member
    username: root
    password: 1234
    driver-class-name: org.mariadb.jdbc.Driver
  jpa:
    hibernate:
      ddl-auto: update

--- #다른 서버 환경 구성을 추가할 때
server:
  port: 8082
spring:
  profiles:
    active: prod
  datasource:
    url: jdbc:mariadb://localhost:3306/member
    username: root
    password: 1234
    driver-class-name: org.mariadb.jdbc.Driver
  jpa:
    hibernate:
      ddl-auto: update

 

 

여러 개의 환경 설정 중 원하는 것을 선택해 지정하려면?

빨간색 네모 옆 ... -> Edit

 

 

Program arguments에

Dspring.profiles.active=dev 이런식으로 어떤 환경 설정을 사용할지 명시해주면 된다.

 

 

추가적으로, jar파일 실행시 java -jar -Dspring.profiles.active=prod myapp.jar 로 구분하면 된다.