杂记——4.书写spring时出现的Error creating bean with name ‘user0‘ defined in file错误

目录

1.问题描述

2.情况描述:

3. 解决方法

4. 问题原因 


1.问题描述

当我们运行一个spring程序时,出现下图的错误:

杂记——4.书写spring时出现的Error creating bean with name ‘user0‘ defined in file错误_第1张图片

重点语句:

 Error creating bean with name 'user011' defined in file [D:地址]:  Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'int' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}

2.情况描述:

当你在练习使用注解开发时,你写的类和注解如下图所示:

杂记——4.书写spring时出现的Error creating bean with name ‘user0‘ defined in file错误_第2张图片

 你的xml文件内容,如下图所示:

你的测试方法如下图所示:

杂记——4.书写spring时出现的Error creating bean with name ‘user0‘ defined in file错误_第3张图片

 所有代码都正确,但是运行不出来。

3. 解决方法

注释掉Bean类中的构造方法,如下图所示:

杂记——4.书写spring时出现的Error creating bean with name ‘user0‘ defined in file错误_第4张图片

 再运行测试(截图如下):

4. 问题原因 

spring在创建对象(IOC)的时候,使用的是无参构造器,而自己写的构造法会覆盖无参构造器,导致spring创建对象的时候出现问题,从而报错。

注意:除非是使用xml配置文件的方式中的用构造器方法来对属性注入值这种情况之外,写spring程序时,任何时候都不要使用(要注释掉)自己写的构造器,因为spring的底层使用的是无参构造器,不注释掉会出现问题的。

你可能感兴趣的:(问题与杂记,spring,java,后端)