如何从 @Configuration/scan 包中排除 Spring bean?

How to exclude Spring beans from @Configuration/scan packages?

提问人:AntonBoarf 提问时间:3/10/2022 更新时间:3/10/2022 访问量:936

问:

我有一个来自其他库的类,我无法修改它。我需要导入它,但也需要从这个外部配置中删除一些 bean。@Configuration ExternalConfig

这是我无法修改的(基本上我想从ExternalConfigBean1.classBean2.classcom.config.external)

@Configuration
@ComponentScan({"com.config.external"})
public class ExternalConfig {

}

这是我的自定义配置:

@Import(ExternalConfig.class)
@ComponentScan(basePackages = {"com.config.external"}, excludeFilters = {
        @ComponentScan.Filter(type=FilterType.ASSIGNABLE_TYPE, value= {Bean1.class, Bean2.class})
})
@Configuration
public class CustomConfig {

}

但它不起作用,并被注入到应用程序上下文中。我能做些什么吗?Bean1Bean2

java spring-boot( 弹簧

评论

0赞 sixrandanes 3/10/2022
不使用@Import你有相同的结果吗?
0赞 AntonBoarf 3/10/2022
我需要使用@Import,ExternalConfig有一些我想导入的bean

答: 暂无答案