spring构造函数重载依赖注入

时间:2016-06-01 07:08:02

标签: spring

我的pojo课程注入依赖     private int id;     私人年龄;     私有字符串名称;

Pojo(int id){
    this.id=id;
}
Pojo(int age, String name){
    this.age=age;
    this.name=name;
}
public void getDetails(){
    System.out.println("id= "+ id +"age= "+age+"name= "+name);
}

configuration.xml文件

    <constructor-arg value="1390" type="int" />
    <constructor-arg value="25" type="int" index="0" />
    <constructor-arg value="Ravi" type="String" index="1"/>

异常:在类路径资源[conf.xml]中定义名称为'id1'的bean时出错:无法解析匹配的构造函数(提示:为简单参数指定索引/类型/名称参数以避免类型歧义)

1 个答案:

答案 0 :(得分:1)

添加此构造函数并尝试

Pojo(int id, int age, String name){
    this.id=id
    this.age=age;
    this.name=name;
}

同时修改configuration.xml

 <constructor-arg value="1390" type="int" index="0"/>
 <constructor-arg value="25" type="int" index="1" />
 <constructor-arg value="Ravi" type="String" index="2"/>

错误原因: 您在configuration.xml中传递了三个参数,并且代码中没有等效的构造函数来接收三个参数。