Idea的springboot项目mapper报红
何时出现
在springboot结合mybatis时,标记mapper类的方法有两种,一种是直接在mapper类上加@Mapper注解(属于ibatis包),一种是在spring的主启动类上加上@MapperScan注解。但是这两种方法都是mybatis的方法,因此并不会被识别为容器中的bean。
我们使用@Autowired在Service类中进行进行自动注入时,mapper类就会报错。但是其实这并不妨碍程序的正确运行。原因可能是因为idea的bean识别只针对spring。(其实我也不知道)
解决方案
-
没有强迫症的同学可以直接选择不管
-
使用spring的@Repository注解(实现dao的访问)将其注入到容器或@Component(泛指各种组件)