错误出现的现状:

Mapper类:

@Mapper
public interface XXXMapper extends BaseMapper<XXX> {

}

Service类

    @Autowired
    private XXXMapper xXXMapper;

运行时候正常没问题,但是在编译阶段会一直爆红

这个是因为使用@Mapper注解,是通过mybatis的mapper.xml文件中,namespance指定的位置进行生成并交由spring容器托管的,idea在编译阶段认为这个类并不在spring容器中

解决方案:

方案一:在XXXMapper类上加上@Repository注解或者@Component即可,主动声明交给spring容器进行托管

方案二:不使用@AutoWired注解,而使用@Resource注解进行自动装配,@Resource是java提供的一个注解,idea编译器不会提示报错

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐