업데이트 :: 2018.08.07
프로파일 (profile)
- 설정 파일을 특정 환경이나 목적에 맞게 선택적으로 사용할 수 있도록 그룹화
클래스레벨
자바기반 (@Profile 사용)
@Configuration @Profile("dev") public class DevConfig { } @Configuration @Profile("test") public class TestConfig { } @Configuration @Profile("prod") public class ProductionConfig { }
XML 기반 (profile="")
<beans profile="dev"> </beans>
애너테이션 기반
@Component @Profile("dev") public class DummyUserRepository implements UserRepository { }
메서드레벨
자바기반
@Configuration public class AppConfig { @Bean(name="dataSource") @Profile("dev") DataSource dataSourceForDev() { } @Bean(name="dataSource") @Profile("test") DataSource dataSourceForTest() { } @Bean(name="dataSource") @Profile("prod") DataSource dataSourceForDev() { } }
- @Profile({"dev", "test"}) 와 같이 여러개의 프로파일도 가능
- @Profile("!prod") 와 같이 하나만 제외하는 것도 가능
XML기반
<beans> <beans profile="dev"> <bean id=""/> </beans> <beans profile="test"> <bean id=""/> </beans> <beans profile="prod"> <bean id=""/> </beans> </beans>
프로파일 선택
자바 명령행 옵션으로 프로파일 지정
-Dspring.profiles.active=dev
환경변수로 처리
export SPRING_PROFILES_ACTIVE=dev
web.xml 프로파일
<context-param> <param-name>spring.profiles.active</param-name> <param-value>dev</param-name> </context-param>
Created by MoonsCoding
e-mail :: jm921106@gmail.com
반응형
'Spring > DI & AOP' 카테고리의 다른 글
학습 // Spring // AOP // Advice (0) | 2018.08.08 |
---|---|
학습 // Spring // AOP (Aspect Oriented Programming) (0) | 2018.08.07 |
학습 // Spring // DI // Bean 설정분할 (import) (0) | 2018.08.07 |
학습 // Spring // DI // 빈 생명주기 ( Bean Lifecycle ) (0) | 2018.08.07 |
학습 // Spring // DI // 빈 스코프(Bean Scope) (0) | 2018.08.07 |