目录
1.问题描述
2.情况描述:
3. 解决方法
4. 问题原因
1.问题描述
当我们运行一个spring程序时,出现下图的错误:
重点语句:
Errorcreating 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.情况描述:
当你在练习使用注解开发时,你写的类和注解如下图所示:
你的xml文件内容,如下图所示:
你的测试方法如下图所示:
所有代码都正确,但是运行不出来。
3. 解决方法
注释掉Bean类中的构造方法,如下图所示:
再运行测试(截图如下):
4. 问题原因
spring在创建对象(IOC)的时候,使用的是无参构造器,而自己写的构造法会覆盖无参构造器,导致spring创建对象的时候出现问题,从而报错。
注意:除非是使用xml配置文件的方式中的用构造器方法来对属性注入值这种情况之外,写spring程序时,任何时候都不要使用(要注释掉)自己写的构造器,因为spring的底层使用的是无参构造器,不注释掉会出现问题的。