Regex @EnableFeignClient包扫描-spring引导

Regex @EnableFeignClient包扫描-spring引导,regex,spring-boot,package,netflix-feign,Regex,Spring Boot,Package,Netflix Feign,我已经用假客户端对spring boot应用程序进行了注释 @SpringBootApplication @EnableFeignClients({"com.ms.Foo1.api", "com.ms.Foo2.api", "com.ms.Foo3.api", "com.ms.Foo4.api", "com.ms.Foo5.api", "com.ms.Foo6.api", "com.ms.Foo7.api", "com.ms.Foo8.api", "com.ms.Foo9.api", "com.

我已经用假客户端对spring boot应用程序进行了注释

@SpringBootApplication
@EnableFeignClients({"com.ms.Foo1.api", "com.ms.Foo2.api",
"com.ms.Foo3.api", "com.ms.Foo4.api", "com.ms.Foo5.api", "com.ms.Foo6.api",
"com.ms.Foo7.api", "com.ms.Foo8.api", "com.ms.Foo9.api", "com.ms.Foo10.api"})
public class AnalyticsApplication extends SpringBootServletInitializer {
}
一切正常,因为我只是修改了基本包。它开始扫描api之外的包

@SpringBootApplication
@EnableFeignClients({"com.ms.*.api"})
public class AnalyticsApplication extends SpringBootServletInitializer {
}
我希望
@EnableFeignClients({“com.ms.*.api”})
将只扫描api内部的客户端,但也开始扫描api包外部的客户端


我需要改变什么?或者我们可以在这里应用正则表达式而不是提及每个包吗?

您可以在@ComponentScan上使用正则表达式过滤器,如下所示:

@ComponentScan(basePackages = "com.ms",
     includeFilters = @Filter(type = FilterType.REGEX, pattern="com.ms.*.api"))
public class AnalyticsApplication extends SpringBootServletInitializer {
}
但是@enablefignclients没有这个功能。你唯一能做的就是:

@EnableFeignClients(basePackages = "com.ms")
public class AnalyticsApplication extends SpringBootServletInitializer {
}

一切正常,因为我只是修改了基本包。它开始扫描api之外的包。-你能澄清一下我只是修改基本包是什么意思吗?@star67没有在
@enablefignclients
中提到所有包,我只是把
{“com.ms.*.api”}
它等同于
basePackages={“com.ms.*.api”}
,顾名思义,它就是
basePackage
即它开始扫描的地方。它不需要(ant风格的)正则表达式,而是扫描的起点。