2014-04-18 4 views
0

SPRING.NET을 사용하여 조건에 따라 속성을 주입 할 수 있기를 원합니다. 내가 두 개의 객체 A와 B를 가지고 있으며 코드에서 평가 한 속성의 값을 기반으로 속성 값이 거짓 일 때 A를 삽입하고 B를 삽입 할 수 있기를 원합니다. spring.net에서 그렇게 할 수 있습니까?spring.net을 사용한 조건부 주입

<object id="Service" singleton="false" type="comp.Service, comp.Service"> 
// if(p1 == true) p1 is calculated in code. 
<property name="_factory" ref="factory1" /> 
// else 
<property name="_factory" ref="factory2" /> 
</object> 

<object name="factory1" type="comp.Factory1, Factory1"> 
     </object> 

<object name="factory2" type="comp.Factory2, Factory2"> 
     </object> 
+0

이것은 프로필 기능에서 가능합니다. http://spring.io/blog/2011/02/14/spring-3-1-m1-introducing-profile/을 참조하십시오. 그러나 찾을 수 없습니다. .net 버전의 동급 –

답변

0

예. 가능합니다. 식 사용 : spring expression에 대한 문서를 읽을 할 수 있습니다

<object id="Service" singleton="false" type="comp.Service, comp.Service"> 
    <property name="_factory" expression="(p1 ? @(factory1) : @(factory2))" /> 
</object> 

를, 그것은 큰 주제입니다.