有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

@ComponentScan的java excludeFilters不起作用

我的应用程序如下所示:

文本。包含定义应用程序的bean的java。它有@Configuration@Import(RabbitMQContext.class)来为RabbitMQ通信导入定义bean的类

这对于dev/prod来说很好,但是我在相关测试中遇到了一个问题

我有一个测试上下文。java定义测试的基本上下文。它有

@ComponentScan(basePackageClasses = {AContext.class,...})

现在,我不希望spring在RabbitMQContext中实例化bean。类,因为我在测试期间没有RabbitMQ环境。 所以我想,最简单的方法是在我的测试上下文中定义excludeFilters。java将排除具有@EnableRabbit注释的类:

@ComponentScan(basePackageClasses = {AContext.class,...},
excludeFilters=Filter(EnableRabbit.class))

但是:它没有像预期的那样工作。启动测试时,我会收到错误,因为Spring试图实例化RabbitMQContext中定义的bean。班级

我还阅读了一些关于stackoverflow的类似问题,但没有发现真正有帮助的,除了非工作排除似乎是一个更经常发生的问题。 有什么提示吗


共 (1) 个答案

  1. # 1 楼答案

    使用这个:

    @EnableAutoConfiguration(exclude=AContext.class)