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

use*_*326 2 spring

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

Boh*_*rdt 10

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

然后,您可以使用@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 {}
}
Run Code Online (Sandbox Code Playgroud)

来源