我创建了一个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值。
任何人都建议我有什么可能来解决这种错误以及我需要改变什么?
答案 0 :(得分:0)
您的弹簧配置可能有误。如果NullPointerException
为examineeDao
,null
被{{1}}抛出的唯一可能性就是{{1}},因此可能无法正确注入。运行一个调试器,它会很快显示出来。
可能是ExamineeDao不能用于自动装配,请发布弹簧配置(以及带注释的考生代表)。
答案 1 :(得分:0)
在第85行的方法generateQMH
中,您拥有一个试图访问成员对象的null
值的变量。这不应该是null
值。您必须确定此变量为null
的原因。此变量为examineeDao
,因为它只有一个null
并引用其他成员。这意味着即使您放置自动装配注释,它也不会被spring框架初始化。有很多可能性为什么会发生这种情况,可能是spring无法实例化bean,或者它没有配置,或者你没有扫描要连接的软件包等等。你没有告诉我们它是什么类型ExamineeDao
接口或类也需要使用spring配置代理。即使以后为了更好地回答您的问题,请发布与您的问题相关的必要材料,源代码,堆栈跟踪,spring config xml(applicationContext.xml, *-servlet.xml
)等。