【原创】整合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的问题得以解决。

原文地址:https://www.cnblogs.com/luohanguo/p/9025472.html

时间: 2024-08-30 12:19:38

【原创】整合Spring4+Hibernate4+Struts2时NullPointerException问题解决的相关文章

spring4+hibernate4+struts2注解,class找不到bean

最近想整合S2SH,采用的是spring4+hibernate4+struts2+maven+MySQL+jdk1.8+tomcat7. 整个项目采用注解实现:spring.hibernate都采用注解实现. struts.xml: <constant name="struts.objectFactory" value="spring"/> <constant name="struts.devMode" value="

spring4+hibernate4+struts2环境搭建

tomact配置请查看下面的文章 javaEE_maven_struts2_tomcat_first http://www.cnblogs.com/luotuoke/p/4543686.html pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&q

Spring4 Hibernate4 Struts2在WebLogic 10.3.3上面部署

折腾了4天,终于可以部署了: 1,lib下面的包: antlr-2.7.7.jarasm-5.0.2.jarasm-commons-5.0.2.jarasm-tree-5.0.2.jarc3p0-0.9.5.jarc3p0-oracle-thin-extras-0.9.5.jarcom.springsource.net.sf.cglib-2.2.0.jarcom.springsource.org.aopalliance-1.0.0.jarcom.springsource.org.aspectj.

struts2.3.16 整合spring4.0.5 和 hibernate4.3.0

1.由struts2 框架自身根据struts.xml 中 的映射实例化Action 对象 Action 类代码如下: package com.hasonger.ssh.action; import java.util.Date; import com.hasonger.ssh.entity.User; import com.hasonger.ssh.service.UserService; import com.opensymphony.xwork2.ActionSupport; import

SpringMvc+Spring4+Hibernate4整合常见错误

最近一直在做SpringMvc+Spring4+Hibernate4的整合,出了不少错误,这都是我们宝贵的经验啊,在整合的过程中,最大的问题就是 版本升级的问题,之前做过jdk1.6的例子,很顺利,但是升级到jdk1.8后,突然爆出了很多的错误,后来在调试的时候才发现,原来spring3和 jdk1.8是不兼容的版本,要么降低jdk到1.7及以下,或者升级spring版本,在更新换代和维稳的情况下,我选择了升级spring版本,结果 如果,咱们一起来看! 运行结果: 源码下载:springMvc

J2EE开发框架搭建(2) - springmvc4 + spring4 + hibernate4 整合

1. 打开hqhop-framework-parent项目下的pom.xml文件,添加springmvc4 , spring4 , hibernate4 ,以及数据源druid的依赖包,插件,依赖包版本号 <!-- data source 相关jar? --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version&g

Spring4+Hibernate4 事务管理 配置 注解 AOP

在单独使用hibernate的时候 使用如下配置: <property name="hibernate.current_session_context_class">thread</property> 根据文档,这个是hibernate3.1以后的一个新扩展,目的在于可以让我们在某一个上下文环境(比如说当前线程)中可以通过SessionFactory.getCurrentSession()得到同一个session会话. 该方式hibernate会自动关闭sess

activemq5.11整合spring4.2.3

前言 这篇博客记录 activemq5.11整合spring4.2.3的过程,免得以后忘记了 1.工程结构 2.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http

an error has occurred. see error log for more details. java.lang.nullpointerexception 问题解决

解决办法:修改项目工作空间. 修改工作空间,以前打开myEclipse时知道怎么改!现在只有找配置文件了! 步骤: MyEclipse 5.1.1 GA----->Eclipse----->configuration------>.settings---->org.eclipse.ui.ide.prefs文件 #Tue Jul 28 09:10:40 CST 2009 RECENT_WORKSPACES_PROTOCOL=2 MAX_RECENT_WORKSPACES=5 SHOW