Spring中注解Bean时类名的问题

@ComponentpublicclassDBUtil{}@AutowiredpublicvoidsetDataSource(@Qualifier("dBUtil")DB... @Component
public class DBUtil { }
@Autowired
public void setDataSource( @Qualifier("dBUtil")DBUtil dataSource) {
this.dataSource = dataSource;
}
按照上述id注解后,会报找不到DBUtil类型的bean的错,而

@Component
public class DaBUtil { }
@Autowired
public void setDataSource( @Qualifier("daBUtil")DBUtil dataSource) {
this.dataSource = dataSource;
}
则可以正常运行,求解释
在不改变类名的前提下如何才能找到正确的bean的id
后面只是在D后面加了小写的a,而加别的大写字母都会报同样的错,工厂在生成这种类类型的id是什么
展开
 我来答
楼之风太泪视1V
推荐于2017-11-27 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:77万
展开全部
这是spring自动扫面bean 默认命名的约定,如果前两位是大写字母 其默认名和类名一致 ,也就是说,改成如下
@Component
public class DBUtil { }
@Autowired
public void setDataSource( @Qualifier("DBUtil")DBUtil dataSource) {//修改 @Qualifier("DBUtil") this.dataSource = dataSource;
}

或者给DBUtil添加bean name
@Component("dBUtil")
public class DBUtil...
追问
谢谢朋友,这是个办法,可是我更想知道我那种写法生成的id是什么
是什么样的
追答
不用谢呀
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式