java – 如何排除@ComponentScan下的所有@Component类除外?
作者:互联网
我的代码中有以下注释:
@ComponentScan(basePackageClasses={MyClass.class},
excludeFilters={@Filter(Component.class)}, //@Component
includeFilters={@Filter(type=ASSIGNABLE_TYPE, classes=MyClass.class)}
)
MyClass使用@Component进行注释,但仍希望在组件扫描期间包含它.但是,组件扫描过滤器似乎使用和逻辑而不是或.我如何实现我想做的事情?
解决方法:
在所有情况下,@ Configuration都比@ComponentScan更具确定性.
而不是解决@ComponentScan注释.您应该尝试将@Configuration类中的MyClass.class显式列为@Bean,如:
@Configuration
public class MyClassConfiguraiton {
@Bean
public MyClass myClass() {
return new MyClass();
}
}
然后@Import显式配置类而不是@ComponentScan注释:
@Import(MyClassConfiguratrion.class)
或者通过组件扫描机制导入它(因为@Configuration是使用@Component进行元注释的).
标签:java,spring,spring-boot-2,spring-java-config 来源: https://codeday.me/bug/20190706/1394471.html