【发布时间】:2018-06-28 16:40:03
【问题描述】:
注解的用法有什么不同吗?这两个注解都允许使用多个@Configuration 类来创建ApplicationContext。从他们的文档中,@ContextConfiguration 似乎更适合测试配置,并且来自用于测试的工件 (spring-test),但是,我还没有发现实际的区别。
感谢您的任何想法!
【问题讨论】:
-
@ContextConfiguration仅可用于其他代码的测试中,它不执行任何操作。@Import在测试中是没有用的,只会在@Configuration类上用于导入其他配置类(@ImportResource可以导入 XML 配置文件)。 -
@M. Deinum 嗨,谢谢!但它的目的是什么?我可以使用
@Import- 就是这样 -
如
@Import所述(又名包含、加载等)其他 java 配置类。例如组件扫描未涵盖的那些(或者您可能禁用了@Configuration文件的组件扫描)。或者创建一个单独的配置进行测试,@Imports 是原始配置,以便您可以覆盖 bean ... -
@M. Deinum 好的,我有第一个想法。但是第二个我可以简单地将
@Import放在测试类上,为什么在这里使用@ContextConfiguration?对不起,如果我是愚蠢的:) -
因为正如我已经说过的,
@Import仅对@Configuration类有用(和功能性)。它不会在测试类上做任何事情,它唯一做的就是占用一行代码。
标签: java spring configuration spring-test