[Spring] application.properties

ms-shin·2024년 3월 14일

Spring

목록 보기
1/1
post-thumbnail

Spring Boot에서 application.properties 파일은 애플리케이션의 환경설정을 위해 사용되는 중요한 파일이다. 이 파일을 통해 데이터베이스 연결, 서버 포트 번호, 로깅 설정등 다양한 애플리케이션 설정을 할 수 있다.

사용법


# 개발 환경
# 1. 데이터베이스 연결
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password

# 2. 애플리케이션 포트는 기본적으로 8080포트로 실행되는데, 아래 설정으로 다른 포트로 설정할 수 있다. 
server.port=8081

# 3. 로깅 설정: 로그 수준을 조정할 수 있고, 특정 패키지나 클래스의 로깅 수준을 조절할 수도 있다.
logging.level.root=WARN
logging.level.org.springframework.web=DEBUG
logging.level.com.myapp=INFO

그러면 대충 어떻게 사용하는지는 알아봤다. 보통 환경 분리할 때 사용하지 않나?

환경 분리


파일 이름을 사용한 방식

application-{profile}.yml을 통해서 application-dev.yml이나 application-prod.yml과 같은 방식으로 나눌 수 있다.

IntelliJ에서는 아래 사진과 같이 VMoption에

  • -Dspring.profiles.active=dev
  • -Dspring.profiles.active=prod
    넣어주면 된다.

하나의 파일 내에서 구분자를 사용한 방식

아래와 같이 --- 구분자를 통해서 spring.profiles 속성을 이용하여 설정을 구분한다.

spring:
  profiles: dev
  datasource:
    url: jdbc:h2:mem:devdb

---

spring:
  profiles: prod
  datasource:
    url: jdbc:mysql://production.example.com/proddb

application.properties 참고시점 및 우선 순위


Spring Boot 애플리케이션은 구동되는 시점에 여러 위치에서 application.properties 또는 application.yml파일을 참고하여 설정 정보를 로드한다. 이 때, 다양한 위치에 대해 특정한 우선순위를 적용한다.

설정 파일 로드 우선순위

  • 클래스 패스 내부(classpath: /config)
  • 클래스 패스 루트 (classpath: root)
  • 현재 디렉토리의 /config 하위 폴더
  • 현재 디렉토리

프로파일 기반 설정

  • application-{profile}.properties 형식으로 파일을 만들면 프로파일에 따라서 application.properties 파일보다 우선순위를 가지게 할 수 있다.

스프링은 참 알아서 해주는 만큼 공부해야할 것도 많은 아이인 것 같다.... 고랭에서는 yaml파일을 읽어서 주입해주는데...코드로 읽을 수 있으니 이해는 오히려 고랭이 편한 것 같다. 언어마다 장단이 있는 것 같다. 그래도 익숙해지면 스프링이 편해지지 않을까 생각한다.

profile
지식을 깊게 파고드는 개발자입니다.

0개의 댓글