Я новичок в весне. Я создал один класс боба и файл конфигурации, как показано ниже:Создание конструктора объектов по умолчанию не создается весной
beans.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>
Employee.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 его дает следующее исключение:
Исключение в потоке «main» org.springframework.beans.factory.BeanCreationException: ошибка создания bean-компонента с именем «employee», определенным в ресурсе пути класса [Problem.xml]: 2 аргумента конструктора, но не найден соответствующий конструктор в bean-файле 'employee' (подсказка: укажите аргументы index/type/name для простых параметров, чтобы избежать неоднозначностей типов)
Теперь, если я удаляю публикацию из конструктора по умолчанию, он отлично работает и даже в том случае, если оба конструктора открыты и работают. Пожалуйста, объясните, почему он показывает это поведение ???
Спасибо заранее.
Какая версия весны вы? Это отлично работает для меня независимо от модификатора видимости на конструкторе. –
Возможно, Employee (String name, String empId) не отображается. Сделайте это общедоступным. – Masudul
@Masud Нет, это не относится к весне. Это сделает «Конструктор» доступным, если нужно. –