[스프링] 스프링 클라우드 구성 프로파일링

스프링 프레임워크는 다양한 환경에서 유연하게 동작할 수 있도록 다양한 구성 프로파일링 기능을 제공합니다. 스프링 클라우드 프로파일링은 애플리케이션을 구동할 때 활성화할 프로파일을 선택하고, 프로파일마다 다른 환경 설정을 적용할 수 있도록 하는 기능입니다.

구성 프로파일 사용하기

구성 프로파일은 런타임시에 특정 프로파일을 활성화하여 애플리케이션의 설정을 업데이트할 수 있도록 해줍니다. 예를 들어, 개발 환경에서는 데이터베이스 연결 정보가 로컬 디렉토리에 위치하지만, 테스트 서버에서는 외부 서버에 위치할 수 있습니다. 이때 스프링 클라우드 프로파일링을 사용하여 각각의 프로파일에 대해 이러한 설정을 구성할 수 있습니다.

다음은 프로파일별 설정을 나타내는 예시 코드입니다.

@Configuration
@Profile("development")
public class DevelopmentConfig {

    @Bean
    public DataSource dataSource() {
        // ...
    }
}

@Configuration
@Profile("production")
public class ProductionConfig {

    @Bean
    public DataSource dataSource() {
        // ...
    }
}

프로퍼티 파일 활용하기

프로파일에 따라 다른 프로퍼티 파일을 사용하여 설정을 구성할 수 있습니다. 스프링 부트에서는 application-{profile}.properties 파일 형식을 사용하여 각 프로파일별로 설정을 분리할 수 있습니다. 이를 통해 코드 변경 없이 각 환경에 맞춰 설정을 관리할 수 있습니다.

예를 들어, application-development.properties 파일에는 로컬 환경에서 사용될 데이터베이스 관련 설정을, application-production.properties 파일에는 운영 환경에 맞는 데이터베이스 관련 설정을 구성할 수 있습니다.

프로파일 활성화하기

애플리케이션을 실행할 때 어떤 프로파일을 활성화할지는 application.properties 파일을 통해 설정할 수 있습니다. spring.profiles.active 속성을 지정하여 활성화할 프로파일을 지정할 수 있습니다.

spring:
  profiles:
    active: development

이처럼, 스프링 클라우드를 활용하여 다양한 환경에서 원활하게 애플리케이션을 구동하고 관리할 수 있습니다.


참고 문헌: