我写了一个测试类。自动装配Autowired注射失败
@ActiveProfiles("dev")
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:spring/appContext.xml","classpath:spring/appContext-datasource.xml"})
@Transactional
public class ReadReconciliationFileTest {
@Autowired
private OriginalReconciliationInformationExtMapper originalReconciliationInformationExtMapper;
@Autowired
private ProblematicReconciliationInformationMapper problematicReconciliationInformationMapper;
@Test
public void insertReconciliationInformation(){
ReadReconciliationFileFactory readFactory=new AllinReadReconciliationFileFactory();
ReadReconciliationFile read=readFactory.produce();
List<ReconciliationBean> list=read.readFile("/Users/wuchangming/Documents/work/通联/tlt_javademo/PDS2006040000004450420170216.txt");
for(int i=0;list!=null&&i<list.size();i++){
originalReconciliationInformationExtMapper.insertInformation(list.get(i));
}
List<ReconciliationBean> list2=originalReconciliationInformationExtMapper.getInformationList(null);
List<String> list3=problematicReconciliationInformationMapper.getProblematicDataList("9",null);
Assert.assertEquals(list.size(),list2.size()+list3.size());
}
}
在这个类中,自动装配Autowired是有效的。 但ReadReconciliationFile类AllinReadReconciliationFileImpl的执行,自动装配Autowired注射是空的。
请帮助我。 谢谢!
你是否显示你的所有代码?通常情况下,这种情况发生在您无意中在您的测试课程中“新测试”您的课程。 – Tobb
没有失败的自动连线...您正在测试方法中创建一个新实例...使用自动布线时,@ @ Autowired属性不能为空(除非您告诉它它可以)。如果自动布线失败,则应用程序在启动时就会崩溃。 –