gpt4 book ai didi

java - 当我使用 SpEL 时出现 NoSuchBeanDefinitionException

转载 作者:行者123 更新时间:2023-12-01 10:14:53 24 4
gpt4 key购买 nike

我在调用特定服务时遇到一个问题。我正在得到

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'com.test.Adult@459ca355' is defined

我正在使用 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() 有效。因为如果这是真的,那就是 throw 以下异常

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'com.test.Adult@459ca355' is defined

否则它会抛出:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'com.test.Child@459ca355' is defined

但我担心 NoSuchBeanDefinitionException。如果您对此有任何想法,请帮助我。

最佳答案

您需要将成人和 child 放在单引号中。参见下面的配置

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

关于java - 当我使用 SpEL 时出现 NoSuchBeanDefinitionException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35958252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com