在使用SpEL时获取NoSuchBeanDefinitionException

时间:2016-03-12 13:28:11

标签: java spring

在调用特定服务期间,我遇到了一个问题。我正在

  

org.springframework.beans.factory.NoSuchBeanDefinitionException:没有   豆名为' com.test.Adult@459ca355'已定义

我使用SpEL加载这个bean:

<bean id="mainClass" class="com.test.MainClass">
  <property name="prop" ref="#{testBean.isAdult()=='T'?adult:child}"/>
</bean>
<bean id="adult" class="com.test.Adult">
  <property name="name" value="John"/>
</bean>
<bean id="child" class="com.test.Child">
  <property name="name" value="Smith"/>
</bean>

上述条件 - testBean.isAdult()正在运作。因为如果它真的是它的投掷 以下异常

  

org.springframework.beans.factory.NoSuchBeanDefinitionException:没有   豆名为&#39; com.test。成人 @ 459ca355&#39;已定义

其他投掷:

  

org.springframework.beans.factory.NoSuchBeanDefinitionException:没有   豆名为&#39; com.test。孩子 @ 459ca355&#39;已定义

但我关注NoSuchBeanDefinitionException。如果您对此有任何疑问,请帮助我。

1 个答案:

答案 0 :(得分:1)

您需要将成人和儿童保持在单引号中。见下面的配置

function(item, callback){ getClientsNb({id:item["row"][0]},
    function (result) { 
            productList.push(result) 
            callback()});
}