[英]throwing null pointer exception for saveAllRequirements
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);
}
請任何人都可以幫助我。 提前致謝
您已經聲明了IRequirementDao
類型的對象,但是根據您的代碼,該對象既未初始化也不被注入。
如果您正在使用某種類型的依賴項注入,例如Spring或Java EE,則可以使用@Resource
對該字段進行注釋以便注入它-前提是至少有一個此類的實現。
如果您不使用依賴項注入,則需要通過向您的字段分配IRequirementDao
實現來自己提供一個對象,如下所示:
this.requirementDao = new RequirementDaoImpl(); // or whatever the name of your DAO implementation.
那是一個接口。 您需要在一個類中實現該接口,然后從您的類中調用saveAllRequirements
方法。
要實現接口,請使用以下格式:
public class ClassA implements IRequirementDao{
}
然后,它將迫使您在接口中編寫每個方法的實現。 然后,在另一個類中,您需要初始化實現接口的類:
public class ClassB {
public ClassB{
ClassA a = new ClassA();
}
public void saveAllRequirements(List<Requirement> requirementsList) {
requirementDao.saveAllRequirements(requirementsList);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.