自动注入失败

Autowired injection failed

我写了一个测试class。

@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());
}
}

在此class中,Autowired有效。 但是在ReadReconciliationFile class AllinReadReconciliationFileImpl的实现中,Autowired注入是null。

请帮帮我。 谢谢!

这些行:

ReadReconciliationFileFactory readFactory=new AllinReadReconciliationFileFactory();
ReadReconciliationFile read=readFactory.produce();

将(可能)创建一个 AllinReadReconciliationFileImplSpring 对此一无所知,因此无法自动装配任何东西。

您需要@Inject这个class的对象,然后使用它。