转!!spring @component 详解 默认初始化bean的名字 VNumberTask类 就是 VNumberTask

时间:2023-11-09 20:52:08

参考链接:信息来源

今天碰到一个问题,写了一个@Service的bean,类名大致为:CUser

xml配置:

<context:component-scan base-package="com.xxx.xx.x"/>

结果启动报错:No bean named 'cUser' is defined,即找不到名为cUser的bean

bean的名字不是我预期的"cUser",临时将bean的名字硬性指定成了cUser来解决的,即:@Service("cUser")

在网上找了半天,看到有位兄弟说得很有道理,引用一下(以下内容引用自篇首链接):

但还是觉得比较奇怪,之前一直以为Spring对注解形式的bean的名字的默认处理就是将首字母小写,再拼接后面的字符,但今天看来不是这样的。

回来翻了一下原码,原来还有另外的一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致

---------------------
作者:daww1969
来源:CSDN
原文:https://blog.csdn.net/weixin_40571358/article/details/81047887
版权声明:本文为博主原创文章,转载请附上博文链接!