自动注入feign接口项目无法启动

@Autowired自动注入fegin接口,项目无法正常启动,错误信息提示无法找到此类,或者是对应的FallbackFactory没有实现等等。

解决方案:

1、@Autowired提示找不到对应的bean无法自动注入,此时需要在启动类上添加注解指明feign接口地址( @EnableFeignClients(basePackages = "feign接口地址") ),如果引用多个api,可用逗号进行分割,例如 @EnableFeignClients(basePackages = {"com.aaa.sms.api", "com.aaa.ums.api"}) ,相似地址可简写为 @EnableFeignClients(basePackages = "com.aaa.*.api")

2、在启动类上添加注解扫描jar包,@ComponentScan(basePackages = "jar包地址"),用法同上。原因是@SpringBootApplication中的@ComponentScan只会扫描启动类所在包及其子包,引用的jar包因此无法扫描到,另外需要注意的是,当在启动类上添加@ComponentScan注解时,@SpringBootApplication中的@ComponentScan就会失效,添加扫描地址时要考虑到本服务内的包路径问题。

3、在api工程里,想要保留多个feign接口类,value值相同时,在引用的服务内无法启动成功。

这时需要在引用的工程配置文件application.properties/yml里添加

spring.main.allow-bean-definition-overriding = true

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值