SSH中this.getHibernateTemplate()提示
空指针异常applicationContext.xml 配置如下:
<!-- dataSource config -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/hcschool?useUnicode=true&characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="123456" />
</bean>
<!-- SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>
<bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="get*" read-only="true" />
<tx:method name="*" />
</tx:attributes>
</tx:advice>
<bean id="baseDao" class="com.hcschool.basedao.impl.BaseDaoImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="userDao" class="com.hcschool.dao.impl.UserDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
<property name="entityClass" value="com.hcschool.vo.User"></property>
</bean>
<bean id="userServiceImpl" class="com.hcschool.service.impl.UserServiceImpl"
init-method="initialize">
<property name="userDao" ref="userDao"></property>
</bean>
BaseDaoImpl.java 文件如下
public class BaseDaoImpl<T extends Serializable> extends HibernateDaoSupport
implements IBaseDao<T> {
private static final Log log = LogFactory.getLog(BaseDaoImpl.class);
private Class<T> entityClass;
public BaseDaoImpl() {
}
public BaseDaoImpl(Class<T> entityClass) {
this.entityClass = entityClass;
}
public Class<T> getEntityClass() {
return this.entityClass;
};
public void setEntityClass(Class<T> entityClass) {
this.entityClass = entityClass;
};
public void create(T t) throws DataAccessException {
this.getHibernateTemplate().save(t);
}
我想问一下``为什么this.getHibernateTemplate().save(t);会报
空指针?
------解决方案--------------------
通过你的描述,应该是在Hibernate代理的时候出的问题,检查你的SESSION和代理类的配置文件!
你的基础代理类有了,但是你没有应用它……
------解决方案--------------------spring注入了之后
是不是还需要在类里面添加
sessionFaction以及对应的setget方法来着啊?
忘记了呵呵
你可以自己调试下 为什么是空指针 的问题
空指针是程序员的自己的问题
祝你成功
------解决方案--------------------你检查下是不是this.getHibernateTemplate()为空