运行SpringBoot的时候报如下错

Consider defining a bean of type ‘comrmall.swaggerdemo.dao.mapper.coursesMapper’ in your configuration

报错原因为配置中找不到一个指定自动注入类型的bean。

那么我们要从collecter层开始查找,点击service层,看service实现类是否加上@Service或者@Component,检查service实现类是否有implements service。如果这些都没有问题:

我们来看@SpringBootApplication,点过去。可以看到有个@ComponentScan,ComponentScan做的事情就是告诉Spring从哪里找到bean

思路一]:@SpringBootApplication
既然报错是无法扫描到com.xxx.service.geo.repository下的类,那么解决方式肯定先从Application启动类入口,看是否有添加扫描@SpringBootApplication的注解,我的代码处有添加@SpringBootApplication(scanBasePackages = {"com.xxx"}) 按理说应该可以扫描到啊,但是启动失败
[思路二]:@componentscan

  1. 在使用@SpringBootApplication中添加了scanBasePackages扫描还没起作用,尝试使用@ComponentScan(basePackages = {""})组件,在其basePackages中填入com.xxx.service.geo.repository,可喜的是可以启动,但是依然报错(正常这一步是可以解决的),bean依然扫描 有问题
    [思路三]:@MapperScan
    想道是sql下repository包的问题,怀疑是mapper没有扫描到,所以添加mapperScan去,结果,依然不尽如意....但是方向对了
    [思路四]:基于思路三到基础上往sql上靠拢,又查询了资料,发现可能是pom中的sql-jpa 依赖的问题,然后在pom中导入如下依赖,启动发现,成功了!!!
     

现在是mapper找不到,所以加上@MapperScan注解,问题解决: