SSM的serviceImpl中调用dao接口的方法报空指针异常,求大神支招

用SSM写的项目,需要实现的功能是从第三方接口获取数据,然后将数据保存到服务器上的数据库,数据获取正常,但是调用dao接口的方法是报空指针异常,请问是什么原因![图片说明](https://img-ask.csdn.net/upload/201709/21/1505956943_524842.jpg)图片说明

是不是空对象的原因,也就是说你在serviceImpl层中的dao没有实例化。
我以前也碰到这种情况,我检查一下你的xml文件,id和class路径都写对了没有。

然后还有一种可能就是你导入的包缺少了,所以不能进行实例化。

应该是dao没有实例化的原因吧,
看报错你报的是OrderServiceImpl.addOrder错误,
应该是OrderServiceImpl中dao 没有实例化的原因

![图片说明](https://img-ask.csdn.net/upload/201709/21/1505958519_127532.jpg)图片说明

mapperScanner 下要配置property:sqlSessionFactoryBeanName ,value为你配置的ssf

测试是没有问题,但在serviceImpl中调用就出错
图片说明

OrderServiceImpl 这个类看一下加上@Component没有?

OrderServiceImpl 这个类看一下加上@Component 或者 加上 @Service

   阿里云促销

图片说明图片说明

你贴出来就能看到问题了,你的OrderServiceImpl 是手动new的,别的都是靠spring管理的,所以肯定包空指针啊,你要把OrderServiceImpl也注入

 <aop:config>
        <aop:pointcut expression="execution(* com.dish.serviceImpl.DishServiceImpl..*.*(..))" id="pointcut"/>
        <aop:advisor advice-ref="trAdvice" pointcut-ref="pointcut"/>
    </aop:config>