SpringBoot整合MyBatis,service中导入mapper报错——Could not autowire.No beans of 'xxxMapper' type found.

首先,是IDEA本身的问题,我这个程序是可以正常运行起来的,而这个studentMapper的Bean是存在的,并且可以自动注入

在这里插入图片描述
所以有强迫症的可以网上查找,如何取消该红色的错误提示,这里就不提供方案了。

这是我的DAO的注解,注意我使用的是@Mapper,后面会讲解@Repository

在这里插入图片描述
这是我的启动类的扫面

在这里插入图片描述
第二种方式,使用@Repository,去除刚才的红色错误提示

在这里插入图片描述
在这里插入图片描述

使用@Repository后,发现红色错误提示没有了,所以本人现在比较推荐@Repository。

由于程序员都习惯将mapper与xml放在同一个目录下而导致了无法编译xml,致使无法注入相关的Bean。而eclipse却可以这样做,所以使用idea开发的同志们就需要注意了。

在pom.xml中,添加如下配置

        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>


然后检查一下,target目录下是否有xml的编译文件,有的话则说明编译成功。

在这里插入图片描述

原文地址:https://www.cnblogs.com/GotoJava/p/13700088.html