Exception in thread "main" org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'employee' defined in class path resource [applicationConfig.xml]:
Could not resolve matching constructor on bean class [org.code2care.demo.Employee]
(hint: specify index/type/name arguments for simple parameters to avoid type ambiguities.
You should also check the consistency of arguments when mixing indexed and named arguments,
especially in case of bean definition inheritance)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:288)
applicationConfig.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 name="employee" class="org.code2care.demo.Employee">
<constructor-arg ref="department"/>
</bean>
<bean name="department" class="org.code2care.demo.Department"/>
</beans>
package org.code2care.demo;
public class Employee {
private int empId;
private String empName;
private Department department;
public int getEmpId() {
return empId;
}
public void setEmpId(int empId) {
this.empId = empId;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public Department getDepartment() {
return department;
}
public void setDepartment(Department department) {
this.department = department;
}
}
As you can see in the above code, we have the Department class injected into the Employee class using the constructor injection as per applicationConfig.xml file, but there is no constructor defined with this injection in the class Employee, in the above case we have two choices,
1. Change the applicationConfig.xml bean injection to setter (properties) based.
<bean name="employee" class="org.code2care.demo.Employee">
<property name="department" ref="department"/>
</bean>
2. Or, add a constructor with Department in the Employee class.
public Employee(Department department) {
this.department = department;
}
Facing issues? Have Questions? Post them here! I am happy to answer!
Author Info:
Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.
Follow him on: X
You can also reach out to him via e-mail: rakesh@code2care.org
More Posts related to Java,
- Get the current timestamp in Java
- Java Stream with Multiple Filters Example
- Java SE JDBC with Prepared Statement Parameterized Select Example
- Fix: UnsupportedClassVersionError: Unsupported major.minor version 63.0
- [Fix] Java Exception with Lambda - Cannot invoke because object is null
- 7 deadly java.lang.OutOfMemoryError in Java Programming
- How to Calculate the SHA Hash Value of a File in Java
- Java JDBC Connection with Database using SSL (https) URL
- How to Add/Subtract Days to the Current Date in Java
- Create Nested Directories using Java Code
- Spring Boot: JDBCTemplate BatchUpdate Update Query Example
- What is CA FE BA BE 00 00 00 3D in Java Class Bytecode
- Save Java Object as JSON file using Jackson Library
- Adding Custom ASCII Text Banner in Spring Boot Application
- [Fix] Java: Type argument cannot be of primitive type generics
- List of New Features in Java 11 (JEPs)
- Java: How to Add two Maps with example
- Java JDBC Transition Management using PreparedStatement Examples
- Understanding and Handling NullPointerException in Java: Tips and Tricks for Effective Debugging
- Steps of working with Stored Procedures using JDBCTemplate Spring Boot
- Java 8 java.util.Function and BiFunction Examples
- The Motivation Behind Generics in Java Programming
- Get Current Local Date and Time using Java 8 DateTime API
- Java: Convert Char to ASCII
- Deep Dive: Why avoid java.util.Date and Calendar Classes
More Posts:
- Tailwind CSS Hello World Example - CSS
- Dynamically Obtaining Browser Screen Width and Height with jQuery [Updated 2023] - jQuery
- Fix- Microsoft Word Pages Appear Black - Microsoft
- Bash For Loop Example - Bash
- Setting Java_Home Environment variable on Windows Operating System - Java
- How to Add Edit with Notepad++ Option to Windows 10 or 11 Right Click Menu Options - Windows-11
- This Toast was not created with Toast.makeText() : Android RuntimeException - Android
- sudo is not recognized as an internal or external command - Windows