org.springframework.beans.factory.unsatifiedDependencyException:创建名为';助手'。没有类型为[java.lang.String]的唯一bean
我想将字符串自动关联到构造函数 我在spring配置xml中有以下内容:org.springframework.beans.factory.unsatifiedDependencyException:创建名为';助手'。没有类型为[java.lang.String]的唯一bean,java,spring,annotations,autowired,Java,Spring,Annotations,Autowired,我想将字符串自动关联到构造函数 我在spring配置xml中有以下内容: <bean id="helper" class="test.Helper"> <constructor-arg index="3" type="java.lang.String" value="http://test.com" /> </bean> 我得到一个错误: org.springframework.beans.factory.NoSuchBean定义异常:未定义类型
<bean id="helper" class="test.Helper">
<constructor-arg index="3" type="java.lang.String" value="http://test.com" />
</bean>
我得到一个错误:
org.springframework.beans.factory.NoSuchBean定义异常:未定义类型为[java.lang.String]的唯一bean:应为单个匹配bean,但找到19:
感谢您的帮助。谢谢 尝试在Ctor中删除
@Autowired
注释并在xml中配置它:
<bean id="helper" class="test.Helper">
<constructor-arg ref="clientFactory" />
<constructor-arg ref="modelManager" />
<constructor-arg type="java.lang.String" value="http://test.com" />
<constructor-arg ref="securityService" />
</bean>
使用索引属性和构造函数依赖项
<bean id="helper" class="test.Helper">
<constructor-arg index="0" ref="clientFactory" />
<constructor-arg index="1" ref="modelManager" />
<constructor-arg index="2" ref="securityService" />
<constructor-arg index="3" type="java.lang.String" value="http://test.com" />
</bean>
这应该会有帮助。这里有一些冲突。您的
助手
类是一个@组件
,但您也为它声明了一个bean
。在您的上下文中,您将得到两个Helper
类的实例。那么,如何只为Helper注入url呢?其他参数也是组件。我试过用“
<bean id="helper" class="test.Helper">
<constructor-arg index="0" ref="clientFactory" />
<constructor-arg index="1" ref="modelManager" />
<constructor-arg index="2" ref="securityService" />
<constructor-arg index="3" type="java.lang.String" value="http://test.com" />
</bean>