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

这里打印costDao是有值的,不为空这里前两个不为空,正常,但调用其他方法就报空指针,很郁闷!这是部分bean配置这是报错信息百度了一天了,做了许多调整,没用,所以求助... 这里打印costDao是有值的,不为空

这里前两个不为空,正常,但调用其他方法就报空指针,很郁闷!

这是部分bean配置

这是报错信息
百度了一天了,做了许多调整,没用,所以求助,谢谢各位提点下
两年前的问题了,都从学生走向工作岗位了~谢谢各位的回答,当时是在原有的框架基础上又整合spring的,出了问题~后来是新建项目,重新搭了一套ssh框架,没问题了~挺怀念当时坚持折腾捣鼓的自己的~
展开
 我来答
HHPpeace888
推荐于2017-11-03 · TA获得超过565个赞
知道小有建树答主
回答量:529
采纳率:66%
帮助的人:362万
展开全部
1、看来你很不会看异常?
2、上面都说了错在哪了,你没看到,看异常的第一行,ICostServiceImpl类的48行?
3、空指针是最好找的问题,肯定是哪个引用指向了一个空的对象。
4、有调用方法的对象,看这个对象是不是空的,先看程序执行到哪了,action还是service,还是dao里,缩小范围,找到了哪层,看下是哪个变量还是对象为空。
5、你new了一个ICostServiceImpl这个类的对象,这个对象调用了getCost()方法,看下这个对象是不是空的,另外看下CostDetaiAction里的execute这个方法,现在action里找,再service。
6、耐心点,这个要一天。
更多追问追答
追问
我已经找到costDao为空 ,在第二个图片注释部分已经写出,我现在想知道为什么,调用48行的方法会报错,同样调用42行也会报错,现在是在原来的项目中加入spring框架,不是很熟练
追答
1、CostDetaiAction的execute方法出错了,说明异常就在action-》service-》dao这一个流程中的某个位置。
2、你打印costDao,这是一个对象,打印肯定有值了,值好像是对象名@.....。

3、你确定startCost方法的costDao为空吗?你能不要打印对象?打印对象都是有值,打印里面 的属性好吧。再确认下,亲,打印测试千万别打印对象。
caiyunick
2016-04-24
知道答主
回答量:8
采纳率:0%
帮助的人:3万
展开全部
这个问题貌似和我的有点像,我也是空指针操作,但是我单独在对象工厂里运行main函数测试是完全可以输出的。最后找了半天是 我的bean.xml配置文件里的某两行的顺序写反了(Dog和Service),然后颠倒过来,发现程序好了。暂时还不知道深层次原因是什么。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
子艺或King
2017-11-03
知道答主
回答量:6
采纳率:0%
帮助的人:5471
展开全部
这个是应为你struts中class名字与bean中class的名字不同,匹配不到,所以是空,,看看你JSP页面对应的struts2中action的class和beans中与之对应的class
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式