regex - @EnableFeignClients 包扫描 - spring boot

标签 regex spring-boot package netflix-feign

我已经用 Feign Client 注释了 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 {
}

但是@EnableFeignClients没有这个功能。你唯一能做的就是:

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

关于regex - @EnableFeignClients 包扫描 - spring boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55534704/

相关文章:

android - 如何在我的 Android 应用程序中使用和打包 JAR 文件?

c++ - 提取字符串中出现的前两个整数 C++

java - Spring Boot 响应式(Reactive)和 mongodb 'command insert requires authentication'

clojure - 如何在Clojure中嵌套需求?

spring-boot - 我应该明确验证 Keycloak token 还是由 Keycloak 适配器完成?

java - 如何在应用程序加载时加载@FeignClient

module - 何时/为什么需要导入 Rust 特征 `use` d/Imported

regex - 如何使用 vi 删除文本文件中每行的前 5 个字符?

c# - 正则表达式 包含在 XML 元素中

c# Regex.Match 与 .Net Regex Tester 结果不匹配