我是春天的新手。我创建了一个 bean 类和一个配置文件,如下所示:
豆类.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="employee" class="com.asd.bean.Employee">
<constructor-arg index="0" type="java.lang.String" value="kuldeep" />
<constructor-arg index="1" type="java.lang.String" value="1234567" />
</bean>
</beans>
雇员.java
package com.asd.bean;
public class Employee {
private String name;
private String empId;
public Employee() {
System.out.println("Employee no-args constructor");
}
Employee(String name, String empId)
{
System.out.println("Employee 2-args constructor");
this.name=name;
this.empId=empId;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the empId
*/
public String getEmpId() {
return empId;
}
/**
* @param empId the empId to set
*/
public void setEmpId(String empId) {
this.empId = empId;
}
public String toString() {
return "Name : "+name+"\nEID : "+empId;
}
}
当我尝试使用 ApplicationContext 获取 bean 时,它给出了以下异常:
线程“main” org.springframework.beans.factory.BeanCreationException 中的异常:在类路径资源 [Problem.xml] 中定义名称为“employee”的 bean 创建错误:指定了 2 个构造函数参数,但在 bean“employee”中找不到匹配的构造函数(提示:为简单参数指定索引/类型/名称参数以避免类型歧义)
现在,如果我从默认构造函数中删除公共,它可以正常工作,即使在将两个构造函数都设为公共的情况下,它也可以正常工作。请解释为什么它会显示这种行为???
提前致谢。