[스프링] 스프링 프로파일 설정 관리 방법
  1. 스프링 프로파일이란?
  2. 스프링 프로파일 설정 방법
  3. 프로파일 활용 예시
  4. 참고 자료

스프링 프로파일이란?

스프링 프로파일은 개발 환경에 따라 애플리케이션의 설정을 관리하는 기능을 말합니다. 프로파일은 런타임에 활성화되어 특정 프로파일에 속한 빈이나 구성 요소를 사용할 수 있게 합니다.


스프링 프로파일 설정 방법

스프링 프로파일을 설정하는 방법은 다양합니다. 가장 일반적인 방법은 application.properties 또는 application.yml 파일을 사용하여 프로파일별로 속성을 관리하는 것입니다.

application.properties 예시:

# dev 프로파일 속성
spring.datasource.url=jdbc:mysql://localhost:3306/myapp_dev

# prod 프로파일 속성
spring.datasource.url=jdbc:mysql://prod-server:3306/myapp_prod

application.yml 예시:

# dev 프로파일 속성
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/myapp_dev

# prod 프로파일 속성
spring:
  datasource:
    url: jdbc:mysql://prod-server:3306/myapp_prod

기타 방법으로는 환경 변수, JNDI, 속성 파일 등을 사용하는 방법이 있습니다.


프로파일 활용 예시

스프링 프로파일을 사용하여 특정 환경별로 빈을 구성하거나 설정을 관리할 수 있습니다. 예를 들어, 개발 환경에서는 H2 데이터베이스를 사용하고, 운영 환경에서는 MySQL을 사용하는 경우 다음과 같이 설정할 수 있습니다.

@Configuration
@Profile("dev")
public class DevDataSourceConfig {
    @Bean
    public DataSource dataSource() {
        // H2 데이터베이스 설정
        return new EmbeddedDatabaseBuilder()
                .setType(EmbeddedDatabaseType.H2)
                .build();
    }
}

@Configuration
@Profile("prod")
public class ProdDataSourceConfig {
    @Bean
    public DataSource dataSource() {
        // MySQL 데이터베이스 설정
        // ...
    }
}

위 예시에서 @Profile 어노테이션을 사용하여 각각의 환경에 따라 다른 DataSource 구성을 정의하고 있습니다.


참고 자료