// 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-配置機制
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.