今天跟大家说一下@ feignclient名字冲突的解决方法,可能很多人都不太懂。为了让大家更好地了解,边肖为大家总结了以下内容。希望大家能从这篇文章中有所收获。
00-1010,springcloud项目启动的时候,遇到了。
请考虑重命名其中一个bean,或者通过设置spring . main . allow-bean-definition-overriding=true来启用重写
如此反常。
00-1010 1.在配置文件中添加配置。
spring . main . allow-bean-definition-overriding=true 2,在feignclient注释中添加一个字段,红色部分。
@ FeignClient(value=" provider-demo 3-ribbon ",path="/dev ",contextid="tt1")
@feignclient名字冲突
我使用的spring-cloud-starter-open假动作的版本是2.0.0,当我使用@ feign客户端时,我不能用一个名称配置多个类。但是官网给出的方法比较靠谱。
经过研究,解决方法如下
1.添加配置。
spring . main . allow-bean-definition-overriding=true 2。这允许同名的bean存在,但是不安全,不推荐使用。(来自网络,未经测试)在open假动作的高版本2.2.1中,一个新的属性ContextId被添加到@FeignClient中,因此也可以使用这个属性。官网有这个套路。
3.官方网站提供的另一个选项是手动创建Feign客户端,如下所示(官方网站)。
@ Import(feignclientconfiguration . class)
类控制器(
privateFooClientfooClient
privateFooClientadminClient
@自动连线
public foo controller(decoder decoder,Encoderencoder,Clientclient,contract contract){ 0
this . FooClient=Forf . builder()。客户端(客户端)。编码器(编码器)。解码器(解码器)。合同。request interceptor(new basicaurquestinterceptor('用户','用户')。目标(FooClient.class,' https://PROD-SVC ');
this.adminClient=假扮. builder()。客户端(客户端)。编码器(编码器)。解码器(解码器)。合同。request interceptor(new basicaurquestinterceptor(' admin ',' admin ')。目标(FooClient.class,' https://PROD-SVC ');
}
}看完以上,你对@ feignclient名称冲突的解决方案有进一步的了解吗?如果您想了解更多知识或相关内容,请关注行业资讯频道,感谢您的支持。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/40190.html