spring初始化找不到可用的bean

service层 用注释@Service标记了CAccountServiceImpl类

调用时习惯使用cAccountServiceImpl去引用

spring源码

protected String buildDefaultBeanName(BeanDefinition definition) {
		String shortClassName = ClassUtils.getShortName(definition.getBeanClassName());
		return Introspector.decapitalize(shortClassName);
	}

调用了Jdk的命名方法

Introspector.decapitalize(string name);
获得一个字符串并将它转换成普通java变量名称大写形式的实用工具方法。将首字符从大写转换成小写,但在特殊情况下,当有多个字符且第一个和第二个字符都是大写字符时,不执行任何操作。
所以调用时应该使用CAccountServiceImpl

你可能感兴趣的:(spring)