public class ModelLevelServiceImpl implements ModelLevelService {
@Autowired(required = false)
private DatasetIntendedUseDao datasetIntendedUseDao;
@Override
public List<String> getDatasetIntendedUse(List<String> datasetList) {
List<String> intendedUse = datasetIntendedUseDao.selectDatasetIntendedUse(datasetList);
return intendedUse;
}
@Override
public void test() {
ModelLevelServiceImpl modelLevelService = new ModelLevelServiceImpl();
List<String> list = new ArrayList<>();
list.add("openwebtext");
list.add("vqav2");
modelLevelService.getDatasetIntendedUse(list);
}
}
datasetIntendedUseDao是一个空指针,
这是因为
当一个对象使用过关键new时,它是不能被Spring所管理的。
所以如果在这些对象中使用@Autowired去注入对象,得到的结果也是为null。
解决方法,谁用到这个new的类了,就让他来注入,然后将注入的对象作为构造函数的参数传入