解决 IDEA MyBatis 警告提示 Could not autowire. No beans of 'XXXMapper' type found.

在使用 MyBatis 时候,IDEA会提示“Could not autowire. No beans of 'XXXMapper' type found.”,还会给 mapper 的类上画上红色的波浪线,其实是因为你忘记给 mapper 加 @Repository 注解了。

@Repository、@Service、@Controller,它们分别对应存储层Bean,业务层Bean,和展示层Bean。

@Repository注解它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO类上即可。同时,为了让 Spring 能够扫描类路径中的类并识别出 @Repository 注解,需要在配置中启用Bean 的自动扫描功能,配置可能是XML,本文演示的是SpringBoot所以使用注解进行配置。

首先,在Mapper的interface上添加@Repository注解,包路径是org.springframework.stereotype.Repository。

Mapper增加Repository注解

然后在启动类上增加配置注解 @MapperScan(basePackages = "com.winteree.core.dao", annotationClass = Repository.class)。

启动类上增加配置注解

现在 IDEA 就不会报警告提示 Could not autowire. No beans of 'XXXMapper' type found. 了。

分享此页面

Comments