0
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);
    }

请任何人都可以帮助我。提前致谢

4

2 回答 2

1

您已经声明了一个 type 的对象IRequirementDao,但根据您的代码,它既没有初始化也没有注入。

如果您正在使用某种依赖注入,例如 Spring 或 Java EE,您可以注释此字段以@Resource使其注入 - 前提是至少有一个此类可用的实现。

如果您不使用依赖注入,则需要通过IRequirementDao为您的字段分配一个实现来自己提供一个对象,如下所示:

this.requirementDao = new RequirementDaoImpl(); // or whatever the name of your DAO implementation.
于 2013-04-17T09:13:10.677 回答
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);
    }
}
于 2013-04-17T09:13:47.617 回答