社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
springcloud feign 启动的时候 报错
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController': Unsatisfied dependency expressed through field 'authApi'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'conlon.cloud.api.connect.AuthApi': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: No fallback instance of type class conlon.cloud.api.hystrix.AuthApiFallback found for feign client cloud-auth
这个时候很明显是应为我在注入 authApi 的时候 没有找到 AuthApiFallback 这个bean
然后我将日志级别设置为debug
在控制台输出的日志中的确没有找到这个bean
但是我的feign 的确是扫描了 , 为什么没有呢 ?
我的熔断回调当中也有了这个类呀这个就很奇怪了
最后问题出在这里 @Component 需要spring注入到容器当中 , 但是我没有使用@SpringBootApplication去扫描 , 导致没有加载 AuthApiFallback 这个类到容器当中 ,所以注入失败了 。
之所以使用这样的分包的扫描方式 是为了粒度更系 当然也可以使用
@SpringBootApplication(scanBasePackages = {"conlon.cloud"})
这样扫描一次就好了
这个时候能看到 已经加载了这个bean spring已经注入了
DEBUG o.s.b.f.s.DefaultListableBeanFactory - Creating shared instance of singleton bean 'authApiFallback'
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!