我寫了一個測試類。自動裝配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屬性不能爲空(除非您告訴它它可以)。如果自動佈線失敗,則應用程序在啓動時就會崩潰。 –