[스프링] 환경에 따른 스프링 프로파일링 설정

스프링은 환경별로 다른 설정을 관리할 수 있는 프로파일링 기능을 제공합니다. 이를 통해 개발, 테스트, 운영 환경에 따라 다른 구성 요소를 유연하게 관리할 수 있습니다.

프로파일 정의

프로파일은 스프링 애플리케이션에서 사용할 환경 구성을 정의하는데, @Profile 애노테이션을 이용하여 선언할 수 있습니다. 예를 들어, dev, test, prod 등의 프로파일을 정의할 수 있습니다.

@Configuration
@Profile("dev")
public class DevelopmentConfig {
    // 개발 환경 설정
}

@Configuration
@Profile("prod")
public class ProductionConfig {
    // 운영 환경 설정
}

프로파일 지정

프로파일은 스프링의 환경 설정 파일에서 지정할 수 있습니다. spring.profiles.active 속성을 사용하여 활성화할 프로파일을 지정할 수 있습니다.

spring:
  profiles:
    active: dev

또는 프로그램 실행 시 JVM 옵션으로 프로파일을 지정할 수 있습니다.

java -jar -Dspring.profiles.active=prod myapp.jar

프로파일별 설정 관리

프로파일을 사용하여 환경에 따라 다른 설정을 관리할 수 있습니다. 각 프로파일에 맞는 설정 파일을 작성하고 활성화된 프로파일에 따라 해당 설정이 로드됩니다.

application-dev.yml
application-prod.yml

프로파일별로 다른 환경 설정을 관리하기 위해 위와 같이 설정 파일을 분리하여 관리할 수 있습니다.

프로파일링을 통해 각 환경에 맞는 설정을 유연하게 관리할 수 있으며, 이를 통해 애플리케이션의 환경에 따라 적합한 구성을 쉽게 적용할 수 있습니다.

참고 자료