반응형
XML설정에서 프로필 사용
<beans> 태그에 profile 속성을 사용
<!-- dataSource-dev.xml 파일-->
<beans ...
profile="dev">
<bean id="connProvider" class="com.tistory.kisspa.JdbcConnProvider" init-method="init">
<property name="driver" value="${jdbc.driver}">
<property name="url" value="${jdbc.url}">
<property name="user" value="${jdbc.user}">
<property name="password" value="${jdbc.password}">
</bean>
</beans>
<!-- dataSource-prod.xml 파일 -->
<beans ...
profile="prod">
<bean id="connProvider" class="com.tistory.kisspa.JndiConnProvider">
<property name="jndiName" value="java:/comp/env/jdbc/db" />
</bean>
</beans>
<!-- Environment.setActiveProfiles 를 사용하여 프로필 선택 -->
GenericXmlApplicationContext context = new GenericXmlApplicationContext();
context.getEnvironment().setActiveProfiles("dev");
// 2개이상일 경우
context.getEnvironment().setActiveProfiles("dev", "mysql");
context.load("classpath:/dataSource-dev.xml",
"classpath:/dataSource-prod.xml");
context.refresh();
<!-- java 환경변수로 프로필 선택할 경우 -->
java -Dspring.profiles.active=prod,oracle
자바 @Configuration 설정에서 프로필 사용
//DataSourceProdConfig.java
import org.springframework.context.annotation.Profile;
@Configuration
@Profile("prod")
public class DataSourceProdConfig {
@Bean
public JndiConnectionProvider connProvider() {
JndiConnectionProvider connProvider = new JndiConnectionProvider();
connProvider.setJndiName("java:/comp/env/db");
return connProvider;
}
}
// setActiveProfiles를 이용하여 프로필 선택
AnnocationConfigApplicationContext context = new AnnotationConfigApplicationContext();
context.getEnvironment().setActiveProfiles("dev");
context.register(ApplicationConfig.class, DataSourceDevConfig.class, DataSourceProdConfig.class);
context.refresh()l
반응형
'개발 > spring, spring boot' 카테고리의 다른 글
[spring 에러] slf4j failed to load class org.slf4j.impl.staticloggerbinder (2) | 2021.01.17 |
---|---|
[spring 에러] 일치하는 와일드 카드 문자가 엄격하게 적용되지만 ... 요소에 대한 선언을 찾을 수 없습니다. (0) | 2021.01.17 |
[spring] Environment - PropertySource (0) | 2021.01.17 |
[spring] 스프링 코어 - AOP (Aspect Oriented Programming) (0) | 2021.01.17 |
[spring] 스프링 코어 - DI (Dependency Injection) (0) | 2021.01.17 |
댓글