DAO返回NullPointerException

时间:2013-04-06 12:26:08

标签: java spring-mvc nullpointerexception

我创建了一个ExamineeDao,通过使用他们的Id,大厅门票等等来获得考生。

在服务I Autowired中,ExamineeDAo跟随

@Autowired
private ExamineeDao examineeDao;

我尝试在服务的功能中访问ExamineeDao

Examinee examinee = examineeDao.findById(id);\\line no 85 in the generateQMH

当我执行代码时,服务器将错误显示为

java.lang.NullPointerException: null
    at cdac.examination.ccat.service.exam.ExamQuestionsListServiceImpl.generateQMH(ExamQuestionsListServiceImpl.java:85)
    at cdac.examination.ccat.service.exam.ExamQuestionsListServiceImpl.getQAIPath(ExamQuestionsListServiceImpl.java:48)

上述异常是由于exameDao返回NULL值。

任何人都建议我有什么可能来解决这种错误以及我需要改变什么?

2 个答案:

答案 0 :(得分:0)

您的弹簧配置可能有误。如果NullPointerExceptionexamineeDaonull被{{1}}抛出的唯一可能性就是{{1}},因此可能无法正确注入。运行一个调试器,它会很快显示出来。

可能是ExamineeDao不能用于自动装配,请发布弹簧配置(以及带注释的考生代表)。

答案 1 :(得分:0)

在第85行的方法generateQMH中,您拥有一个试图访问成员对象的null值的变量。这不应该是null值。您必须确定此变量为null的原因。此变量为examineeDao,因为它只有一个null并引用其他成员。这意味着即使您放置自动装配注释,它也不会被spring框架初始化。有很多可能性为什么会发生这种情况,可能是spring无法实例化bean,或者它没有配置,或者你没有扫描要连接的软件包等等。你没有告诉我们它是什么类型ExamineeDao接口或类也需要使用spring配置代理。即使以后为了更好地回答您的问题,请发布与您的问题相关的必要材料,源代码,堆栈跟踪,spring config xml(applicationContext.xml, *-servlet.xml)等。