目的

        了解Feign客户端使用@EnableFeignClients加载各种微服务接口的方式,解决无法启动加载微服务FeignClient接口的问题。

参数说明

  • 默认使用:加载启动目录下所有@FeignClient客户端接口
@EnableFeignClients
public class LizzServerApp{
    public static void main( String[] args )
    {
        SpringApplication.run(LizzServerApp.class,args);
    }
}
  •  指定接口包:加载指定目录下所有的@FeignClient客户端接口
/**
* 加载org.lizz.test.api包下的@FeignClient接口
*/
@EnableFeignClients("org.lizz.test.api")
@EnableFeignClients(value = "org.lizz.test.api")
@EnableFeignClients(basePackages ="org.lizz.test.api")
/**
* 加载org.lizz.test1.api和org.lizz.test2.api包下的@FeignClient接口
*/
@EnableFeignClients({"org.lizz.test.api","org.lizz.test2.api"})
@EnableFeignClients(value = {"org.lizz.test.api","org.lizz.test2.api"})
@EnableFeignClients(basePackages ={"org.lizz.test.api","org.lizz.test2.api"})

  • 指定接口类:加载指定类下的@FeignClient客户端接口
/**
* 加载lizzClient.class类下的@FeignClient接口
*/
@EnableFeignClients(clients = lizzClient.class)
@EnableFeignClients(basePackageClasses = lizzClient.class)

/**
* 加载lizzClient1.class和lizzClient2.class类下的@FeignClient接口
*/
@EnableFeignClients(clients = {lizzClient1.class,lizzClient2.class})
@EnableFeignClients(basePackageClasses = {lizzClient1.class,lizzClient2.class})
  • 指定配置类:加载指定类@Configuration类中的feign配置相关内容
/**
* 加载LizzFeginConfig.class中@Configuration类。
*/
@EnableFeignClients(defaultConfiguration = LizzFeginConfig.class)
/**
* 加载LizzFeginConfig1.class,LizzFeginConfig2.class中@Configuration类。
*/
@EnableFeignClients(defaultConfiguration = {LizzFeginConfig.class,LizzFeginConfig.class})

使用

  • 多种加载方式无法组合使用
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐