Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 티스토리챌린지
- kotlin spring
- kotlin querydsl
- APM
- kotlin
- 정보처리기사 실기 기출문제
- Linux
- mysql 튜닝
- 정보처리기사 실기
- minikube
- PETERICA
- CloudWatch
- Pinpoint
- Kubernetes
- aws
- Java
- AWS EKS
- 오블완
- AI
- Elasticsearch
- 정보처리기사실기 기출문제
- MySQL
- CKA 기출문제
- CKA
- 기록으로 실력을 쌓자
- kotlin coroutine
- 코틀린 코루틴의 정석
- IntelliJ
- Spring
- 공부
Archives
- Today
- Total
피터의 개발이야기
Spring Profiles 본문
반응형
ㅁ 들어가며
코드 작성 중 간단히 자바 테스트를 진행하였습니다.
@SpringBootTest를 가동시켰는데, Failed to load ApplicationContext이 발생하면서 테스트를 진행할 수 없었습니다.
스프링이 특정 value 빈을 생성하려는데, 설정 파일을 찾지 못하엿습니다.
테스트 코드에서 ActiveProfile을 어떻게 지정하는 방법을 찾으면서 그 방법에 대해서 정리해 보았다.
이 원문을 보고 정리하였습니다.
@Profile
빈을 특정 프로파일에 매핑합니다.
@Component
@Profile("dev")
public class DevDatasourceConfig
프로파일 이름을 "!dev"로 하면 dev 프로필이 활성화되지 않은 경우에만 활성화가 됩니다.
XML로 프로필 선언
Profiles은 XML로 구성 할 수도 있습니다. 근데 이 방법은 잘 안쓰게 될꺼 같습니다.
<beans profile="dev">
<bean id="devDatasourceConfig"
class="org.baeldung.profiles.DevDatasourceConfig" />
</beans>
기본적 Profile 설정방법들
WebApplicationInitializer 인터페이스를 통해 Profile설정
@Configuration
public class MyWebApplicationInitializer
implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.setInitParameter(
"spring.profiles.active", "dev");
}
}
ConfigurableEnvironment를 통한 Profile설정
환경설정에서 직접 프로필을 설정할 수도 있습니다.
@Autowired
private ConfigurableEnvironment env;
...
env.setActiveProfiles("someProfile");
web.xml에서 설정
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/app-config.xml</param-value>
</context-param>
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>dev</param-value>
</context-param>
JVM 시스템 환경변수
-Dspring.profiles.active=dev
Unix 환경 변수
export spring_profiles_active=dev
Maven 프로필
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<spring.profiles.active>dev</spring.profiles.active>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<spring.profiles.active>prod</spring.profiles.active>
</properties>
</profile>
</profiles>
ㅁ 함께 보면 좋은 사이트
반응형
'Programming > Spring' 카테고리의 다른 글
[TDD] assertThat 사용법 (0) | 2020.12.19 |
---|---|
[Spring] War 배포와 Jar 배포 시 resource 참조 문제 (0) | 2020.12.14 |
[Spring] Jackson Annotations (0) | 2020.12.10 |
[SPRING BOOT] Retrofit vs Feign for Server Side (0) | 2020.12.08 |
[Spring] Spring schedule을 조건부로 활성화 하기 (0) | 2020.12.02 |
Comments