FooConfiguration不需要使用@Configuration注释。但是,如果是,则请注意将其从任何@ComponentScan中排除,否则将包含此配置,因为它将成为feign.Decoder,feign.Encoder,feign.Contract等的默认来源,指定时。这可以通过将其放置在任何@ComponentScan或@SpringBootApplication的单独的不重叠的包中,或者可以在@ComponentScan中明确排除。
// 启动类在com.vvlin包下
package com.vvlin.config;
...
// 这里注释掉之后,不会在控制台打印,说明方法未调用
// 不注释则正常
// @Configuration
public class FeignUploadFileConfiguration {
@Bean
public Encoder feignFormEncoder() {
System.err.println("FeignUploadFileConfiguration.feignFormEncoder()");
return new springFormEncoder();
}
}
LZ知道答案了吗,我现在也遇到这个问题了
configuration不生效问题排查思路: https://www.cnblogs.com/keeya/p/15224772.html
添加@Configuration会加载到spring容器中,Feign Builder的时候会从容器中获取默认配置。
org.springframework.cloud.netflix.feign.FeignClientFactoryBean#feign