今天在做项目时遇到了idea报“Could not autowire. No beans of ‘UserMapper’ type found. ”的错误,记录以下解决过程。
我的mapper注解使用的是@Mapper
在使用@Autowrited注解时,报红提示我“Could not autowire. No beans of ‘UserMapper’ type found.”错误,不能正常运行。
于是,我上网查询解决办法,发现造成报错有两种情况:
第一个是我们导包时导入包错误造成的。
第二个便是IntellijIDEA本身工具的问题。
首先针对第一种情况进行排查,检查mapper和service的XML文件果然发现了错误。
由图可见是我自己粗心大意多写了.UserMapper导致注解扫描异常,.UserMapper删除后正常运行。和我一样粗心的朋友记得仔细检查一下自己的配置文件。
针对第二种情况,可以在自动转配的注解后面添加(required=false)
当我们在使用@Autowired注解的时候,默认required=true,表示注入的时候bean必须存在,否则注入失败。