这两天写了一个简单的springMVC小程序,写的时候很顺利,但执行查询的时候就报了空指针异常,错误提示如下:
一看到空指针就很头疼,赶紧检查代码,经过排查代码没发现什么问题,开始怀疑自己的表建的有问题,写了几条sql语句,插入和查询都没有问题,说明表是没问题的,不能因为一个查询就耽误太长时间吧,换个思路,我试着从程序中插入一条数据看下,进行debug跟踪,调试如下:
已经传过值来了,执行应该没问题吧,但是却是下面的结果:
还是空指针.......
经过多次调试,如修改表名称,字段名称,长度,改类名称,重新建表等,能想到的都试过了,问题依然存在。困住了很久,后来翻翻以前写过的代码进行对比下,经过多次对比后发现了不同点,如下:
原来写过的代码,引入service的时候是这样引入的:
而我现在写的是这样的:
瞬间开朗,原来我现在写的类中,再调用service的时候,既没有自动注入,也没有写get方法,所以service方法是无效,找不到的,感觉加入注入方法如下:
然后重新启动测试,测试通过。
总结:spring mvc 再调用service的时候一定要注入,否则将导致项目的功能运行不正常,在做程序开发的时候一定要仔细,以免遗漏某些地方,致使程序无法运行。