我来解释一下为什么作者大大说的添加@Component都无效。
其实不是无效,而是框架理想化的情况下包目录都是org.springblade,如果我们自定义了自己的业务模块,命名不叫这个,那么配了@Component注解的fallback实例也是扫描不到的。因为SpringBoot默认扫描Application同级目录下的所有包。但是业务模块的包名不一致。
而且要注意的是:就算在@EnableBladeFeign里面加业务模块的包名,也还是报错:无法找到fallback实例。
那是因为这个仅仅是找包名下的feign接口,而callback实例是属于@Component,没有被@FeignClient修饰,所以依旧找不到。
@EnableBladeFeign(basePackages={"org.springblade","{业务模块包名}.api.feign"})
那么正确的解决方法就是:在启动类加上
@ComponentScan(basePackages = {"org.springblade","{业务模块包名}"})
扫一扫访问 Blade技术社区 移动端