一个关于SSH(struts2.1+spring3.0+hibernate3.3)配置的问题,高手帮下忙啊,问题如下,急等!!!!!!

我建了一个junit测试DAO层的数据操作,结果异常如下:java.lang.NullPointerExceptionatorg.springframework.orm.... 我建了一个junit测试DAO层的数据操作,结果
异常如下:

java.lang.NullPointerException
at org.springframework.orm.hibernate3.support.HibernateDaoSupport.getSession(HibernateDaoSupport.java:143)
at com.fei.dao.impl.IUserDAOImpl.login(IUserDAOImpl.java:17)
at com.fei.test.test.testTestCase(test.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
IUserDAOImpl.java:17行代码是:Session session = getSession();
junit测试 test.java:87行代码: System.out.println("222222"+iUserDAO.login("huangfei", "123456"));
在junit测试方法中直接new 一个IUserDAOImpl,调用login方法就发生上述错误,
但是在junit测试方法中加上以下代码
ApplicationContext bf = new ClassPathXmlApplicationContext("applicationContext.xml");
IUserDAO iUserDAO = (IUserDAOImpl)bf.getBean("iuserDao");
就能够正常显示结果!!
applicationContext.xml 配置文件中

<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
。。。。。。中间省略
</bean>
<bean id="iuserDao" class="com.fei.dao.impl.IUserDAOImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>

到底是DAO注入spring失败还是无法获取bean啊,是否配置错误啊,使之找不出那儿有问题啊,这个好像是spring整合hibernate有问题应该与struts无关,测试单元中加上
ApplicationContext bf = new ClassPathXmlApplicationContext("applicationContext.xml"); 就能正常显示,是不是hibernate无法获取applicationContext.xml 配置文件啊,唉,烦恼啊,整了一天,也上网查看了下,还是没解决,高手救命啊,很急!hibernate的配置文件没有!
在jsp页面中向数据库中写入数据能够正常写入,但是查询数据并显示结果就不行了!!
展开
 我来答
ahyyxx222
2011-04-24 · TA获得超过2532个赞
知道小有建树答主
回答量:1405
采纳率:33%
帮助的人:1237万
展开全部
at com.fei.dao.impl.IUserDAOImpl.login(IUserDAOImpl.java:17)

注意看错误提示
你的IUserDAOImpl第17行是什么内容?
xiejunquanjy
2011-04-24
知道答主
回答量:21
采纳率:0%
帮助的人:0
展开全部
1.报的是空指针异常::Session session = getSession();请检查getSession() 是否返回空
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
05级小林哥
2011-04-24 · 超过23用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:67.6万
展开全部
at com.fei.dao.impl.IUserDAOImpl.login(IUserDAOImpl.java:17)
问题有可能是这里,我猜的是你传过来的字符串为空。你看看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帅花原鼻1N
2011-04-25 · TA获得超过2065个赞
知道小有建树答主
回答量:1476
采纳率:33%
帮助的人:832万
展开全部
我写了7000多字,百度个垃圾不显示。我也没心情在写了。你直接HI我,我给你详细说下。教你到会为止。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式