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())?foo:bar} '

4

1 に答える 1

2

属性値はref、参照自体ではなく文字列でなければならないため、次のように、fooまたはbar文字列として返すようにします。

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

Spring Bean エンジンは、式によって返された文字列を取得し、参照を解決します。

于 2012-12-05T12:45:29.263 に答える