Spring boot 如何根据配置文件从组件扫描中排除类?

Spring boot 如何根据配置文件从组件扫描中排除类?,spring-boot,dependency-injection,Spring Boot,Dependency Injection,该项目的结构是一个由多个JAR(它们本身就是mvc应用程序)组成的Web应用程序。JAR是具有各自的@配置类的独立项目,这些类用@Profile('jarName')标记,这些类扫描各自的组件。所有JAR和web应用程序都有类似的包名前缀 例如:com.foo.bar.webapp.controller和com.foo.bar.jar1.controller 在主webapp中,我使用排除过滤器从组件扫描中排除com.foo.bar.jar1.*。我想知道是否有办法排除配置文件引入的所有组件 或

该项目的结构是一个由多个JAR(它们本身就是mvc应用程序)组成的Web应用程序。JAR是具有各自的
@配置
类的独立项目,这些类用
@Profile('jarName')
标记,这些类扫描各自的组件。所有JAR和web应用程序都有类似的包名前缀

例如:
com.foo.bar.webapp.controller
com.foo.bar.jar1.controller

在主webapp中,我使用排除过滤器从组件扫描中排除
com.foo.bar.jar1.*
。我想知道是否有办法排除配置文件引入的所有组件


或者另一种提问方式是,如何基于活动概要文件启用组件和实体扫描

我不确定我是否完全理解这个问题,也许一个小样本会有所帮助。您可以在
@Configuration
类上使用
@ComponentScan
,如果有帮助,该类也可以用作
@Profile
。我必须说,您试图做的事情听起来确实很不寻常。@PhilWebb是否可以在YAML文件中为
@ComponentScan
@EntityScan
定义值?因此,当一个项目中有多个模块时,在
应用程序
类中,我不必担心各种扫描,只需要求包含活动概要文件中的所有
@ComponentScans
?目前,我正在通过在每个模块中创建一个
@Configuration
类,并用
@Profile
对其进行注释,以及通过
导入每个配置类来实现这一点。@HappyBudda您找到解决方案了吗?我很想知道,我不确定我是否完全理解这个问题,也许一个小样本会有所帮助。您可以在
@Configuration
类上使用
@ComponentScan
,如果有帮助,该类也可以用作
@Profile
。我必须说,您试图做的事情听起来确实很不寻常。@PhilWebb是否可以在YAML文件中为
@ComponentScan
@EntityScan
定义值?因此,当一个项目中有多个模块时,在
应用程序
类中,我不必担心各种扫描,只需要求包含活动概要文件中的所有
@ComponentScans
?目前,我正在通过在每个模块中创建一个
@Configuration
类,并用
@Profile
对其进行注释,以及通过
导入每个配置类来实现这一点。@HappyBudda您找到解决方案了吗?我很想知道