private IRequirementDao requirementDao;
@Override
public void saveAllRequirements(List<Requirement> requirementsList) {
requirementDao.saveAllRequirements(requirementsList);
}
这次调用saveAllRequirements方法抛出空指针异常 其中IRequirementDao是一个接口,下面显示了一些方法
public interface IRequirementDao {
public void saveRequirement(Requirement requirement);
public List<Requirement> getAllRequirementsCreatedBy(String createdBy);
public List<Requirement> getAllRequirementsCreatedAfter(Date createdTs);
public List<Requirement> getAllRequirementsForProject(long projectKey);
public List<Requirement> getAllRequirementsAsofDt(Date asOfDt);
public void saveAllRequirements(List<Requirement> requirementsList);
public List<Requirement> getRequirementsWithTracebilityId(String tracebilityId);
}
请有人帮我解决。 提前致谢
答案 0 :(得分:1)
您已声明了IRequirementDao
类型的对象,但根据您的代码,它既未初始化也未注入。
如果您正在使用某种依赖注入,例如Spring或Java EE,则可以使用@Resource
注释此字段以便将其注入 - 前提是至少有一个此类的实现可用。
如果您没有使用依赖注入,则需要通过为您的字段分配IRequirementDao
实现来自己提供对象,如下所示:
this.requirementDao = new RequirementDaoImpl(); // or whatever the name of your DAO implementation.
答案 1 :(得分:0)
这是一个界面。您需要在类中实现该接口,然后从您的类中调用saveAllRequirements
方法。
要实现接口,请使用以下格式:
public class ClassA implements IRequirementDao{
}
然后它会强制您在界面中编写每个方法的实现。然后在你的另一个类中,你需要初始化实现接口的类:
public class ClassB {
public ClassB{
ClassA a = new ClassA();
}
public void saveAllRequirements(List<Requirement> requirementsList) {
requirementDao.saveAllRequirements(requirementsList);
}
}