@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 楼答案
使用这个: