spring bean注入报空指针null,但set设值时对象是存在的,而且只是部分方法报空指针

2024-11-30 15:35:01
推荐回答(3个)
回答1:

1、看来你很不会看异常?
2、上面都说了错在哪了,你没看到,看异常的第一行,ICostServiceImpl类的48行?
3、空指针是最好找的问题,肯定是哪个引用指向了一个空的对象。
4、有调用方法的对象,看这个对象是不是空的,先看程序执行到哪了,action还是service,还是dao里,缩小范围,找到了哪层,看下是哪个变量还是对象为空。
5、你new了一个ICostServiceImpl这个类的对象,这个对象调用了getCost()方法,看下这个对象是不是空的,另外看下CostDetaiAction里的execute这个方法,现在action里找,再service。
6、耐心点,这个要一天。

回答2:

这个问题貌似和我的有点像,我也是空指针操作,但是我单独在对象工厂里运行main函数测试是完全可以输出的。最后找了半天是 我的bean.xml配置文件里的某两行的顺序写反了(Dog和Service),然后颠倒过来,发现程序好了。暂时还不知道深层次原因是什么。

回答3:

这个是应为你struts中class名字与bean中class的名字不同,匹配不到,所以是空,,看看你JSP页面对应的struts2中action的class和beans中与之对应的class