如何在Spring Boot中使用@ComponentScan从jar加载类和一个像默认值一样的通配符?

时间:2017-08-09 16:02:28

标签: java spring spring-boot annotations

当我将@ComponentScan添加到我的主类并传递`basePackages'使用外部jar中的包,它不再扫描我的项目包。我可以手动添加这些包,如:

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

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

  • 扫描所有软件包,例如默认
  • 添加jar包以进行扫描

1 个答案:

答案 0 :(得分:2)

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

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

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

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

但我不是百分之百的工作,而我是100%的第一个解决方案。