SpringCloud-Feign-配置機制

 // 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);
		}
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章