java - 如何在 Spring Boot 中使用 @ComponentScan 从 jar 和通配符加载类,其工作方式类似于默认值?

标签 java spring spring-boot annotations

当我将 @ComponentScan 添加到我的主类并通过外部 jar 中的包传递“basePackages”时,它不再扫描我项目的包。我可以手动添加这些包,例如:

@ComponentScan(basePackages={"com.jar.classes","com.project.classes"})

但这意味着我必须手动保持更新。有没有办法说:

  • 像默认情况一样扫描所有包
  • 同时添加 jar 包进行扫描

最佳答案

您可以创建一个简单的配置类,该类位于项目的包中,默认组件扫描会拾取该包,其中包括针对外部组件的特定组件扫描。

@Configuration
@ComponentScan(basePackages = {"com.jar.classes"})
public class ExternalComponentConfig {
}

或者实际上可以在您的基本配置类中包含 2 个组件扫描,例如:

@ComponentScan
@ComponentScan(basePackages={"com.jar.classes"})

但我并没有 100% 致力于该工作,而我 100% 致力于第一个解决方案。

关于java - 如何在 Spring Boot 中使用 @ComponentScan 从 jar 和通配符加载类,其工作方式类似于默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45595605/

相关文章:

spring - 在 Gradle 构建中,启动 Spring Boot 应用程序,运行测试,然后停止 Spring Boot 应用程序

java - 我如何在 Skype 上玩 google?

java - 当我只需要一个 JPanel 时制作两个 JPanel

java - 在 JUnit 测试中将 Maven 属性传递给 Spring 应用程序上下文文件

spring-boot - Selenium 4.1 和 Spring boot Web 驱动程序版本问题

java - Eclipse:升级到 Spring Boot 2.0.1 后无法检测类异常

Java数组: Finding how many numbers are less then the Mean

java - Android Java 字符串

java - Elasticsearch 索引后执行外部操作

java - 如何阻止 Spring @Scheduled 排队作业