Spring注入Bean时不匹配构造器错误 —— Unsatisfied dependency expressed through constructor parameter

本文探讨了在Spring框架中遇到的构造器注入错误,具体表现为未找到匹配的Bean构造器参数。问题源于在User实体类中,使用了带name和pwd的构造器,但尝试进行构造器注入时需要的是带id和pwd的构造器。解决办法是确保注入时提供的参数与实体类的构造器匹配,即提供与期望构造器相匹配的参数,以使Spring容器能正确地创建Bean。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错信息

Unsatisfied dependency expressed through constructor parameter 0: Ambiguous argument values for parameter of type [java.lang.String] - did you specify the correct bean references as arguments?

翻译一波~

通过构造函数参数0表示的未满足的依赖关系:类型为[java.lang.String]的参数的参数值不明确-是否将正确的bean引用指定为参数?

事故现场(并非原事故现场,于本人私下还原)

spring的核心配置文件 applicationContext.xml
在这里插入图片描述

我使用构造器和属性赋值方式注入 结果GG…

问题在于 注入Bean的时候 匹配构造器 错误

我的User实体类中 有一个无参构造器 ,一个带两个参数的构造器,还有一个三个参数的构造器

问题探究

我上面的代码中使用了构造器注入 但是我却没有定义一个带id和pwd的构造器!!!
只有一个带name 和pwd 的构造器 ,于是乎!
在这里插入图片描述

这样子 spring容器才能匹配到我们的构造器!!!

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值