Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
org.springframework.beans.factory.unsatifiedDependencyException:创建名为';助手'。没有类型为[java.lang.String]的唯一bean_Java_Spring_Annotations_Autowired - Fatal编程技术网

org.springframework.beans.factory.unsatifiedDependencyException:创建名为';助手'。没有类型为[java.lang.String]的唯一bean

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定义异常:未定义类型

我想将字符串自动关联到构造函数

我在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定义异常:未定义类型为[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>