[스프링] 스프링 프로파일 설정 관리 방법
스프링 프로파일이란?
스프링 프로파일은 개발 환경에 따라 애플리케이션의 설정을 관리하는 기능을 말합니다. 프로파일은 런타임에 활성화되어 특정 프로파일에 속한 빈이나 구성 요소를 사용할 수 있게 합니다.
스프링 프로파일 설정 방법
스프링 프로파일을 설정하는 방법은 다양합니다. 가장 일반적인 방법은 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
구성을 정의하고 있습니다.