FeginClient命名重复导致扫描被覆盖的问题

主要是FeginClient命名重复导致扫描被覆盖的问题,当springboot配置文件中有以下配置时,会允许bean配置覆盖

spring: 
  main:
    allow-bean-definition-overriding: true

再举个例子:
ACL服务中,最早期为了节约部署成本,将ACL服务/DIC服务/oss服务混写到了一起,导致以下配置中的name最终是一样的。

@FeignClient(name ="${custom.service.dic}", fallback= DICAppApiHystrix.class, configuration= DICApiConfiguration.class)

而如果没有上述覆盖的配置,则启动时会报错。最后选择了覆盖配置的方式进行的启动,带来的代价是:同一个服务发布feginclient时,为了避免configuration覆盖,要写在同一个文件中。

结论:
1、后续找时间把服务完全拆开,保持服务职责单一
2、将allow-bean-definition-overriding配置改回默认设置
3、feginClient配置覆盖调试路径:org.springframework.cloud.openfeign.FeignAutoConfiguration#configurations

引用中提到了一个错误信息,它指示在自动注入依赖时找不到符合条件的bean。类似的错误信息在引用中也有提到。原因可能是重复注入相同的bean接口类。解决这个问题的方法有两种,一种是去掉重复的注解,另一种是去掉重复的接口注解或类注解。 另外,引用中提到了另一种可能的情况,即自动注入失败。在测试类中遇到了这个问题,实际上自动注入的是FeginClient而不是Service。通过将@Autowired的required属性设置为false可以解决这个问题。 总结起来,这些引用内容提供了一些关于自动注入依赖时出现问题的可能原因和解决方法。你可能需要检查重复注解和依赖的类型,以确保正确地注入bean。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [expected at least 1 bean which qualifies as autowire candidate for this dependency.](https://blog.csdn.net/weixin_42190471/article/details/117827289)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations](https://blog.csdn.net/qinjiangcai/article/details/125880816)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值