// org.springframework.cloud.openfeign.FeignClientFactoryBean#configureFeign
protected void configureFeign(FeignContext context, Feign.Builder builder) {
FeignClientProperties properties = this.applicationContext
.getBean(FeignClientProperties.class);
if (properties != null) {
//是否配置属性优先
if (properties.isDefaultToProperties()) {
//基于Spring注入Bean,两个来源
//默认全局的配置&FeignClient Context, 后者优先
configureUsingConfiguration(context, builder);
// default 配置
configureUsingProperties(
properties.getConfig().get(properties.getDefaultConfig()),
builder);
// 自定义配置
configureUsingProperties(properties.getConfig().get(this.contextId),
builder);
}
else {
configureUsingProperties(
properties.getConfig().get(properties.getDefaultConfig()),
builder);
configureUsingProperties(properties.getConfig().get(this.contextId),
builder);
configureUsingConfiguration(context, builder);
}
}
else {
configureUsingConfiguration(context, builder);
}
}
SpringCloud-Feign-配置机制
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.