如何从加载中排除bean?

时间:2016-07-09 19:49:52

标签: java spring spring-mvc

我在将外部库与Spring集成时遇到问题。它包含一个用@Configuration注释的类,它有一个用@Bean注释的方法。我不希望它被实例化(它不需要并引入依赖于 Spring Boot ,我不使用它。

不幸的是,这个@Configuration - 带注释的类在库的其他地方使用(类类型需要,而不是接口类型,所以我需要实例化这个类)。

我从自动扫描中排除了它的包,我不是直接导入它。只需手动构建它并在自己的配置中注册为bean。

所以,为了简化故事 - 我需要注册一个bean,但是要从注释scnanning中排除它(不处理它的@Bean - 带注释的方法)。这样做的任何方式?

1 个答案:

答案 0 :(得分:0)

如果您的意思是Maven中有gradle库,则可以从初始化中排除spring bean。我发现exclude @Component from @ComponentScan

@Configuration @EnableSpringConfigured
@ComponentScan(basePackages = {"com.example"}, excludeFilters={
@ComponentScan.Filter(type=FilterType.ASSIGNABLE_TYPE, value=Foo.class)})
public class MySpringConfiguration {}

并且如果您不想包括传递性依赖项,因此不想让您的依赖项添加它使用的其他依赖项,则必须将它们从依赖项中排除(在maven中,gradle)。