@ContextConfiguration如何同时使用基于XML的配置和基于Java的?

时间:2014-11-12 19:48:55

标签: spring

我正在使用SpringJUnit4编写集成测试。我有疑问如何在@ContextConfiguration中同时使用基于XML的配置和基于Java的配置。据我所知,我无法做到,但也许存在后门? 提前谢谢!

2 个答案:

答案 0 :(得分:10)

您可以在测试类中创建静态内部@Configuration类,并在类上使用@ContextConfiguration注释,而不使用任何参数。如下文所述,如果没有将XML位置或配置类传递给注释,Spring将自动查找静态内部@Configuration类。

然后,您可以使用@Import@ImportResource注释导入XML配置和Java配置类。所以你的Spring测试的基类看起来像这样:

@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
public class BaseSpringTest {
    @Configuration
    @Import(BaseConfig.class)
    @ImportResource({ "classpath:applicationContext-hibernate.xml" })
    public static class ContextConfig {}
}

<强>来源

答案 1 :(得分:0)

@Configuration类上使用@ImportResource导入基于XML的配置。