
스프링 부트의 기본 기능 전체를 튜닝하는 부트 전용 설정 프로퍼티입니다. application.properties, application.yml 파일로 저장하여 여러 설정들을 제어하게 되는데, 오늘은 그 기본을 알아보겠습니다.
데이터베이스 연결 정보, 포트 번호, 로깅 레벨, 캐시 설정 등 애플리케이션이 구동되기 위한 여러 환경적 요소들을 설정하는 역할을 합니다.
# application.properties
# 서버 포트 설정
server.port=8080
# 데이터베이스 설정
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=myuser
spring.datasource.password=mypassword
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 로깅 레벨 설정
logging.level.org.springframework=INFO
여러 환경에 따라 다른 설정값을 사용할 수 있도록 profiles 기능을 제공합니다.
# application-dev.properties
# 개발 환경의 데이터베이스 설정
spring.datasource.url=jdbc:mysql://localhost:3306/devdb
spring.datasource.username=devuser
spring.datasource.password=devpassword
# application-prod.properties
# 운영 환경의 데이터베이스 설정
spring.datasource.url=jdbc:mysql://localhost:3306/proddb
spring.datasource.username=produser
spring.datasource.password=prodpassword
환경 변수, 명령줄 인수, 외부 파일 등 다양한 방법으로 설정 값을 주입할 수 있습니다. 자바 코드의 변화 없이 애프리케이션의 설정을 유연하게 변경할 수 있는 장점이 있습니다.
# application.properties
# 기본 서버 포트 설정
server.port=${SERVER_PORT:8080}
# 기본 데이터베이스 설정
spring.datasource.url=${DB_URL:jdbc:mysql://localhost:3306/mydb}
spring.datasource.username=${DB_USERNAME:myuser}
spring.datasource.password=${DB_PASSWORD:mypassword}
이 외에도 웹 설정, 템플릿 엔진 설정, 서버 설정, 시큐리티 설정, Actuator 설정, Devtools 설정, Testing 설정 등이 가능합니다.