나는 Spring 3.1's bean definition profiles과 중첩 된 빈을 사용하여 실험 해왔다. 나는 활성 프로파일에 따라 다른 bean을 정의 할 수 있기를 희망했다.빈 정의 프로파일을 사용하는 Spring 3.1 빈 가시성
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'say' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'hello' while setting bean property 'hello'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'hello' is defined at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360) aJava Result: 1
내가 기대했던 안녕하세요 빈을 정의 할 것에 따른 : 단순화 된 예를 통해 크게 다음 사항을 고려 내 Spring 컨텍스트 나는 다음과 같은 오류가
<bean id="say" class="test.Say" p:hello-ref="hello"/>
<beans profile="prod">
<bean id="hello" class="test.Hello" p:subject="Production!"/>
</beans>
<beans profile="dev">
<bean id="hello" class="test.Hello" p:subject="Development!"/>
</beans>
같은 등 포함 활성 Maven 프로필 (내 경우 또는 dev을 자극). 나는 스프링 활성 프로파일 (spring.profiles.active)이 Maven 프로파일과 완전히 관련이 없다고 생각하기 시작했다.
누군가 내가 잘못 가고 있다고 설명 할 수 있습니까? (이것은 프로필을 사용하여 가능합니까?).
감사합니다. maba, 웹 응용 프로그램 외부에서 spring.profiles.active를 사용하는 좋은 방법이 있습니까? 예 : 단위 테스트 용 –
스프링 테스트를 사용하는 경우 다른 표준 스프링 테스트 주석 (\ @ContextConfiguration, etc ...)과 함께 \ @ActiveProfiles 주석을 사용할 수 있습니다. 필자는 일반적으로 다른 환경에 대한 데이터베이스 테스트를 수행 할 때이를 사용합니다. 필자는 "테스트"목표에서 더비를 대상으로 실행하고 "통합 테스트"목표를 달성하기 위해 실행되는 또 다른 오라클 세트를 가지고 있습니다. 테스트를 정의하고 \ @ContextConfiguration을 정의하기 위해 추상 클래스를 생성하고이를 확장하고 @ActiveProfiles를 사용하여 유닛 또는 통합 테스트로 바꾼다. – Matt
감사합니다. 나는이 경우에 붙어 있었고 당신은 나를 구해 주었다 : D –