zoukankan      html  css  js  c++  java
  • 【原创】整合Spring4+Hibernate4+Struts2时NullPointerException问题解决

    1、开场白

    相信SSH初学者肯定遇到过这个问题,但是又是百思不得其解,明白了之后就恍然大悟。

    2、问题描述

    程序实现过程是UserAction中调用UserService,UserService的实现类中调用了DAO类。在程序运行过程中控制台出现NullPointerException的错误:

    调试时进入了InvocationTargetException函数:

    3、解决方法

    Debug中发现UserService代码在调用Dao的时候出现了问题:

    调试发现,传的参数都是正常的,但是就是在59行代码报错,而且不能直接进入baseDao的get方法。进入了下面的InvocationTargetException代码:

    再往下调试,控制台输出java.lang.NullPointerException错误。

    想到在执行baseDao对象的get方法时候会调用invoke()方法。

    Method invoke()方法源代码:

    代码中看到当传进来的对象为空时,返回NullPointerException()错误。所以可以肯定的是传进来的dao对象是为空的。

    看一下Spring对各个对象的管理情况,检查代码发现了问题所在,dao没有注入。

    知道了问题所在,解决办法:

    添加dao对象到Spring Ioc容器

    16行加上@Resource(name = "baseDao")注解,告诉Spring,让Spring把创建好的baseDao对象注入给UserService。

    这样Spring NullPointerException,InvocationTargetException的问题得以解决。

  • 相关阅读:
    [luogu1594]护卫队(dp)
    [luogu1968]美元汇率(dp)
    [NOIP2006]金明的预算方案(dp)
    [caioj1056](相同数列问题)填满型01背包2
    [IPUOJ]混合背包 (dp)
    趣说倍增算法
    [POI2005]BAN-Bank Notes (dp、倍增)
    NOIP考前注意
    SharePoint 2013 App 开发—Auto Hosted 方式
    SharePoint 2013 App 开发—App开发概述
  • 原文地址:https://www.cnblogs.com/luohanguo/p/9025472.html
Copyright © 2011-2022 走看看