<bean id="foo" class="com.bla.Foo" />
<bean id="bar" class="com.bla.Bar" />
<bean id="channel" class="com.bla.Channel">
<constructor-arg ref="#{(config.isFooEnabled()) ? foo : bar}"/>
</bean>
I get the following error:
Cannot resolve reference to bean ‘#{(config.isFooEnabled()) ? foo : bar}’
The
refattribute value must be a string, not a reference itself, so, I would try returningfooorbaras a string, as in:The spring beans engine will get the string returned by the expression, and resolve the reference.