@EnableFeignClients(basePackages = "...") 是 Spring Cloud OpenFeign 的注解,用于 启用 Feign 客户端,并指定需要扫描的包路径,以找到标注了 @FeignClient 的接口

3. basePackages 的作用

basePackages 主要用于 指定 Feign 接口所在的包,可以有多种写法:

写法

说明

basePackages = "com.example.client"

只扫描 com.example.client 包下的 Feign 接口

basePackages = {"com.example.client", "com.other.client"}

扫描多个包

不写 basePackages

默认扫描 当前类所在包及其子包

结合 defaultConfiguration

你还可以通过 defaultConfiguration 配置 Feign 全局默认行为:

@EnableFeignClients(
    basePackages = "com.example.client",
    defaultConfiguration = FeignConfig.class
)
@Configuration
public class FeignConfig {
    @Bean
    public Logger.Level feignLoggerLevel() {
        return Logger.Level.FULL;
    }
}

总结

  • @EnableFeignClients 作用是 启用 Feign 客户端指定扫描的包

  • basePackages 指定 Feign 接口所在的包,避免扫描不到

  • @FeignClient(name = "...") 让 Spring 识别远程调用接口

  • 可以结合 defaultConfiguration 自定义 Feign 的日志、超时等配置