解决方案
然后启动项目
最合理的解决方案:
其他解决方案,出现的连锁反应;
解决方案一:
连锁出现的问题:
解决连锁出现的问题
方案一:
解决方法一:
@ComponentScan({"com.example.demo.config"})
上面的问题已解决
但是继续连锁出现问题
该问题待解决,此路暂时不通
方案二:
直接把@EnableSwagger2
注解加在主启动类就可以了,
上面的问题已解决
但是会出现以下问题方法和类,出现error
解决访问swaggerUI
接口文档显示basic-error-controler
问题
暂时没有找到,此路不通
方案三
虽然解决报错,但是该属性,是规避找不到bean,所以该方案不行
最总分析:
首先,出现连锁最根本的问题在于,
@ComponentScan和@MapperScan
注解使用
继续分析
之前用户使用的是3个注解注解他们的main
类。分别是@Configuration
,@EnableAutoConfiguration
,@ComponentScan
。
如果@SpringBootApplication
和@ComponentScan
注解共存,那么@SpringBootApplication
注解的扫描的作用将会失效,也就是说不能够扫描启动类所在包以及子包了。因此,我们必须在@ComponentScan
注解配置本工程需要扫描的包范围,因此使用了@SpringBootApplication
,在使用@ComponentScan
注解的时候会出现上面的连锁反应;
@MapperScan
注解的使用
会扫描Mapper下的所有@Mappe
注解的类 ,注入;应该与@SpringBootApplication
不冲突;
就根问题继续分析
项目目录
问题:解决方案虽然是使用@MapperScan
,但是@SpringBootApplication
为什么扫描不到,mapper
包下的类呢?
找到问题根源:
@Mapper jar
导入错误,绿色为正确的包,红色为错误的包;