解释here如何结合java& xml配置完成。有用。自3.1.0.M2以来,测试上下文框架具有java配置支持:
@ContextConfiguration(loader = AnnotationConfigContextLoader.class)
public class LangDetectorTest extends AbstractTestNGSpringContextTests {
@Configuration
static class ContextConfiguration {
@Bean
public LangDetector langDetector() throws SystemException {
LangDetector orderService = new LangDetector();
return orderService;
}
}
}
虽然我无法弄清楚如何将java配置作为主要配置,并从XML配置加载类似util:properties和stuff的东西。
我需要做这样的事情:
@ContextConfiguration(loader = AnnotationConfigContextLoader.class)
@ImportResource("classpath:context/LangDetectorTest-test.xml")
public class LangDetectorTest extends AbstractTestNGSpringContextTests {
@Configuration
static class ContextConfiguration {
@Bean
public LangDetector langDetector() throws SystemException {
LangDetector orderService = new LangDetector();
return orderService;
}
}
}
否则,对于测试上下文框架的java配置支持是没用的,考虑到只有通过XML配置才能完成很多事情。
答案 0 :(得分:1)
对于Spring 3.1 RC1,我们计划引入一个 DelegatingSmartContextLoader将委托给候选人列表 SmartContextLoaders(即GenericXmlContextLoader和 AnnotationConfigContextLoader)确定哪个上下文加载器 适合给定测试类的配置。获胜 候选人将用于实际加载上下文。一旦这个 工作完成后,DelegatingSmartContextLoader将被替换 GenericXmlContextLoader作为默认加载器。随意跟随 JIRA的这一发展进展:SPR-8387。