一、问题描述

近日在工作中遇见了一个bug,后端程序频频报错 No bean named ‘XXXXX’ available 。对比同类程序文件,没有发现有任何特殊之处。在网上搜索方法基本上就是扫描包配置、注解问题、路径问题等,皆不能解决我的问题。

排查问题是发现出现问题的类命名不符合驼峰规范,按照这个思路找到了解决办法。

二、产生原因

在spring框架中运行动态代理,类交给spring管理的时候一般默认使用小写的类名作为bean的id。如果类的命名不规范,注解又没有指定bean名称,就会导致出现上述异常。

三、解决方法

尽量规范类的命名,注解中指定bean名称。贴下代码:

1 /**2  * 短信模板3  */4 @Mapper5 @Repository("sMSTemplateMapper")6 public interface SMSTemplateMapper extends BaseMapper {7      int getMaxCode();9 }