DAO中调用getHibernateTemplate()方法时就是报空指向异常
2014-06-28 00:23
393 查看
在整合ssh框架时,碰到这个问题,困扰了好几天
在网上看了很多资料,很多问题,出现的方式不同
但究其原因是没有从ApplicationContext中获取对象
当你自己用 StuDAO sd = new StuDAO()
( 其实我并没有用这样的方式获取对象,而是在配置文件中配置了sessionFactory属性
但是在DAO中调用getHibernateTemplate()方法时就是报空指向异常,反复查看自己的配置文件,并没有错误
而且在其他DAO类中均可以正常获取,这也是困扰我几天的原因 )
方式 声明一个实例时,你Spring配置文件中的的属性并没有声明在你得到的sd对象中
继承HibernateDaoSupport中的属性也没有随之声明,当然获取的为空值,
正确的方法是,从Spring配置文件中获取
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
sd = (StuDAO)ac.getBean("stu");
在LoginAction中添加上面代码后就能正常获得getHibernateTemplate(),
记录一下,第一个让自己抓狂的bug
。
在网上看了很多资料,很多问题,出现的方式不同
但究其原因是没有从ApplicationContext中获取对象
当你自己用 StuDAO sd = new StuDAO()
( 其实我并没有用这样的方式获取对象,而是在配置文件中配置了sessionFactory属性
但是在DAO中调用getHibernateTemplate()方法时就是报空指向异常,反复查看自己的配置文件,并没有错误
而且在其他DAO类中均可以正常获取,这也是困扰我几天的原因 )
方式 声明一个实例时,你Spring配置文件中的的属性并没有声明在你得到的sd对象中
继承HibernateDaoSupport中的属性也没有随之声明,当然获取的为空值,
正确的方法是,从Spring配置文件中获取
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
sd = (StuDAO)ac.getBean("stu");
在LoginAction中添加上面代码后就能正常获得getHibernateTemplate(),
记录一下,第一个让自己抓狂的bug
<bean id="stu" class="net.dqsy.dao.impl.StuDAOImpl"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="tea" class="net.dqsy.dao.impl.TeaDAOImpl"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="adm" class="net.dqsy.dao.impl.AdmDAOImpl"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="pap" class="net.dqsy.dao.impl.PapDAOImpl"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="sp" class="net.dqsy.dao.impl.StuPapDAOImpl"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="pfa" class="net.dqsy.action.PapreferAction"> <property name="sp"> <ref bean="sp"/> </property> </bean> <bean id="pda" class="net.dqsy.action.PapDelAction"> <property name="sp"> <ref bean="sp"/> </property> </bean> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"> </property> <property name="url" value="jdbc:mysql://localhost:3306/acesys"> </property> <property name="username" value="root"></property> <property name="password" value="1234"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> </props> </property> <property name="mappingResources"> <list> <value>net/dqsy/po/Teacher.hbm.xml</value> <value>net/dqsy/po/Stupaper.hbm.xml</value> <value>net/dqsy/po/Student.hbm.xml</value> <value>net/dqsy/po/Paper.hbm.xml</value> <value>net/dqsy/po/Admin.hbm.xml</value></list> </property></bean>
。
相关文章推荐
- HibernateDaoSupport的getHibernateTemplate()的find方法大全
- 使用getHibernateTemplate()的方法时出现空指针异常的解决办法
- HibernateDaoSupport的getHibernateTemplate.find()方法带参查询返回结果是nul问题解决
- 关于HibernateDaoSupport中的getHibernateTemplate().execute及executeFind方法
- 关于HibernateDaoSupport中的getHibernateTemplate().execute及executeFind方法
- HibernateDaoSupport的getHibernateTemplate()的find方法大全
- 【Hibernate】dao层 +getHibernateTemplate()方法解析
- Spring中常用的hql查询方法(getHibernateTemplate())
- ssh中的dao层this.getHibernateTemplate().find()方法
- Spring中常用的hql查询方法(getHibernateTemplate())(转)
- Spring中常用的hql查询方法(getHibernateTemplate())(转)
- jumliang Spring中常用的hql查询方法(getHibernateTemplate())
- Spring中常用的hql查询方法 (getHibernateTemplate())
- Spring中常用的hql查询方法(getHibernateTemplate())(转)
- Spring中常用的hql查询方法(getHibernateTemplate())(转)
- gethibernatetemplate find条件查询方法
- 对spring管理的hibernate的getHibernateTemplate的find方法整理
- Spring中常用的hql查询方法(getHibernateTemplate())
- Spring中常用的hql查询方法(getHibernateTemplate())
- Spring中常用的hql查询方法(getHibernateTemplate())