前言: 在速运快递项目前端页面用户注册的时候,点击注册之后总是报空指针异常,我当时一直想的是我前端页面封装mod
在速运快递项目前端页面用户注册的时候,点击注册之后总是报空指针异常,我当时一直想的是我前端页面封装model失败了吗?但是根本没有想到是CustomerService是null.
针对这个问题,我的解决办法如下:
1、前端debug,看看请求参数是否正确
F12,点击注册之后,看到浏览器响应码为200,由于是post请求,请求参数体正确。但是后台就报空指针。很明显,是后台程序的问题。
2、后端debug
在开启debug模式之后,我在CustomerAction的singUpCustomerService.save(model)方法前打了断点,点击注册按钮之后,进入debug模式,在点击F5进入 CustomerService.save(model)方法中,走完这一步,我在debug界面右上看到了所有参数的值,这时候才发现原来不是model为null,
而是CustomerService为null。
CustomerService
Customer
为什么CustomerService为null呢?思前想后不得其解,因为我是在crm项目写的CustomerService和CustomerServiceImpl,最后通过webService发布的。我当时以为是我wsimport下载完webService代码之后没有更新项目的原因。在更新maven,install之后,运行之后还是会出现空指针异常。
3、最后思路只能是spring配置文件了,经过查找,问题就在这里!
以下是我最初配置的spring配置文件:因为bos_fore项目只有web层,因此就大意只配置了webService服务代理对象,而忽略了spring注解的扫描包的配置。
<jaxws:client id="customerClient"
address="http://localhost:8888/bos_crm/service/customer"
serviceClass="cn.baidu.cxf.service.CustomerService">
</jaxws:client>
正确配置应该加上:
<!--配置注解的扫描包 -->
<context:component-scan base-package="cn.baidu.customer.action"></context:component-scan>
问题解决:因为我们把Action的创建交给了spring接管,所以配置spring扫描包这件事一定不能省略。不然配置的Autowired就不能成功,即不能给CustomerService注入。
之所以能进入Action方法中是因为web.xml中配置的拦截器,只要配置了拦截器,只要访问路径成功就能进入action内部。而注入成功与否是靠注解或者set方法。
软件开发测试人才四大魅力元素
——就业竞争小
——高薪没商量
——就业质量高
——无性别歧视
套用狄更斯那句话说:对于急需软件开发测试人员的企业来说,这是一个最坏的时代,但对软件开发测试人才来说,这是一个最好的时代。“随着软件市场的成熟,人们对软件作用的期望值也越来越高,软件的质量和功能可靠性也正逐渐成为人们关注的焦点。”
文章出自:http://qh.itpxw.cn/jyzn/202179533.html
文章标题:深圳软件开发测试中遇到bug怎么办?请善待,它会让你更强大!
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2021-09-13 16:09
99%的同学,混了几年,连作为一名合格测试的基本功都丢了:...
软件开发测试的出路到底在哪?现在参加软件开发测试培训班还...
近年来,由于IT行业的人才稀缺,越来越多人转向了IT相关职业...
目前的国内市场,很多软件企业都存在着重开发、轻测试的现象...