0

我想将字符串自动连接到构造函数。

我在spring config xml中有这个:

<bean id="helper" class="test.Helper">
    <constructor-arg index="3" type="java.lang.String" value="http://test.com" />  
</bean>

助手.java

@Component
public class Helper {
    private final ClientFactory clientFactory;
    private final ModelManager modelManager;
    private final SecurityService securityService;
    private final String url;

    @Autowired
    public Helper(ClientFactory clientFactory, ModelManager modelManager,
        SecurityService securityService, String url) {
        this.clientFactory = clientFactory;
        this.modelManager = modelManager;
        this.securityService = securityService;
        this.url = url;
    }
}

我收到错误:

org.springframework.beans.factory.NoSuchBeanDefinitionException:没有定义类型 [java.lang.String] 的唯一 bean:预期单个匹配 bean,但找到 19:

任何帮助表示赞赏。谢谢!

4

2 回答 2

0

尝试@Autowired在 Tor 中删除注释并在 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>
于 2013-07-11T01:43:12.653 回答
0

使用 index 属性以及构造函数依赖项。

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

这应该会有所帮助。

于 2014-11-11T09:13:43.943 回答