0
<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>

我收到以下错误:

无法解析对 bean '#{(config.isFooEnabled()) 的引用?富:酒吧}'

4

1 回答 1

2

ref属性值必须是字符串,而不是引用本身,因此,我会尝试返回或foo作为bar字符串,如:

<constructor-arg ref="#{(config.isFooEnabled()) ? 'foo' : 'bar'}"/>

spring bean 引擎将获取表达式返回的字符串,并解析引用。

于 2012-12-05T12:45:29.263 回答