我正在使用InitializingBean来初始化模态类中的静态属性。这个对象我在服务中自动接线
当我编写服务的测试用例时,我抛出错误:无法加载ApplicationContext
配置类
public class AppConfig {
private String prop1;
protected void setProp1(String prop) {
this.prop1 = prop;
}
public String getProp1() {
return prop1;
}
}
PropertyIntilizer类
public class PropertyIntializer implements InitializingBean {
@Autowired
private AppConfig appConfig;
@Override
public void afterPropertiesSet() throws Exception {
appConfig.setProp1("PROP");
}
}
服务类
@Service
public class Service {
@Autowired
private AppConfig appConfig;
public void doSomething(){
System.out.println(appConfig.getProp1());
}
}
识别TestClass
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { TestConfig.class })
public class ServiceTest {
@Autowired
private Service service;
@Test
public void testService(){
service.doSomething();
}
}
这会出错:无法加载ApplicationContext
但是当我删除Autowired AppConfig时,它可以正常工作
编辑: TestConfig类
@Configuration
@ComponentScan(basePackages = { "base.package" })
public class TestConfig {
}
我的主要类在base.package.main和base.package.test中的测试类
答案 0 :(得分:0)
类似的问题通过在buid路径中添加JRE(在我的案例websphere中附带应用程序服务器)来解决我的问题