Spring注解方式,异常 'sessionFactory' or 'hibernateTemplate' is required的解决方法 转载的
来源:互联网 发布:python 做个静态网页 编辑:程序博客网 时间:2024/05/17 22:45
首先遇到的问题就是HibernateDaoSupport引起的,程序中所有的DAO都继承自HibernateDaoSupport,而HibernateDaoSupport需要注入sessionfactory或者hibernateTemplate,所以出现"sessionFactory " or "hibernateTemplate " is required异常,但是在spring配置文件中加入sessionFactory的bean配置以后,仍然出现异常。
后来看了网上的解决方式 ,原因是spring.xml中没有加上default-autowire="byName" ,在注解的时候找不到实例化的sessionFactory,而注入了一个空的,在hibernate检查的时候就报那个错了。spring配置文件加入byName的方式注入bean后,就可以正确使用注解了
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd"
default-autowire="byName" default-lazy-init="true">
总的原因就是缺少了这句default-autowire="byName"。这个鸟问题困惑了一下午
开始在没添加default-autowire="byName"的时候,我添加了如下代码就可以,不过这个只是使得找到问题出现的原因,并不是解决的最终方法,最终解决方法还是添加了上面的一句到配置文件中。
import com.yhqxgl.dao.TDeptDao;
import com.yhqxgl.entity.TDept;
@Repository("tDeptDaoImpl")
@Transactional
public class TDeptDaoImpl extends HibernateDaoSupport implements TDeptDao {
public boolean add(TDept dept) {
this.getHibernateTemplate().save(dept);
return true;
}
@Autowired
public void setSessionFactoryOverride(SessionFactory sessionFactory)
{
super.setSessionFactory(sessionFactory);
}
}
相当sessionFactory还没注入到HibernateDaoSupport中,使得这里的this.getHibernateTemplate()=null。
后来看了网上的解决方式 ,原因是spring.xml中没有加上default-autowire="byName" ,在注解的时候找不到实例化的sessionFactory,而注入了一个空的,在hibernate检查的时候就报那个错了。spring配置文件加入byName的方式注入bean后,就可以正确使用注解了
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd"
default-autowire="byName" default-lazy-init="true">
总的原因就是缺少了这句default-autowire="byName"。这个鸟问题困惑了一下午
开始在没添加default-autowire="byName"的时候,我添加了如下代码就可以,不过这个只是使得找到问题出现的原因,并不是解决的最终方法,最终解决方法还是添加了上面的一句到配置文件中。
import com.yhqxgl.dao.TDeptDao;
import com.yhqxgl.entity.TDept;
@Repository("tDeptDaoImpl")
@Transactional
public class TDeptDaoImpl extends HibernateDaoSupport implements TDeptDao {
public boolean add(TDept dept) {
this.getHibernateTemplate().save(dept);
return true;
}
@Autowired
public void setSessionFactoryOverride(SessionFactory sessionFactory)
{
super.setSessionFactory(sessionFactory);
}
}
相当sessionFactory还没注入到HibernateDaoSupport中,使得这里的this.getHibernateTemplate()=null。
- Spring注解方式,异常 'sessionFactory' or 'hibernateTemplate' is required的解决方法 转载的
- Spring注解方式,异常 'sessionFactory' or 'hibernateTemplate' is required的解决方法 转载的
- Spring注解方式,异常 'sessionFactory' or 'hibernateTemplate' is required的解决方法 转载的,劳记劳记
- spring注解空指针异常 'sessionFactory' or 'hibernateTemplate' is required的解决方法
- spring 注解 出现'sessionFactory' or 'hibernateTemplate' is required异常
- SessionFactory or HibernateTemplate is required 的解决办法
- “sessionFactory " or "hibernateTemplate " is required异常
- 'sessionFactory' or 'hibernateTemplate' is required(spring+hibernate)
- 'sessionFactory' or 'hibernateTemplate' is required
- 'sessionFactory' or 'hibernateTemplate' is required
- 'sessionFactory' or 'hibernateTemplate' is required
- 'sessionFactory' or 'hibernateTemplate' is required
- 'sessionFactory' or 'hibernateTemplate' is required
- 'sessionFactory' or 'hibernateTemplate' is required
- SSH全注解方式遇到问题sessionFactory or hibernateTemplate is required
- Spring 注解开发 dao层错误 'sessionFactory' or 'hibernateTemplate' is required 解决
- Spring 整合 Hibernate 使用全注解Bean出现 sessionFactory' or 'hibernateTemplate' is required
- SSH整合,"sessionFactory " or "hibernateTemplate " is required异常
- Java语言相关知识点,面试中鲜有人能说明白的问题
- Dynamics CRM 2011编程系列(54):MagicBox实现原理
- c <math.h>
- Ubuntu 查看文件以及磁盘空间大小管理
- SQL Server中递归触发器中使用游标如何设置
- Spring注解方式,异常 'sessionFactory' or 'hibernateTemplate' is required的解决方法 转载的
- C++ primer plus 第13章 类继承
- ORACLE锁机制研究
- 在Spread.Net中使用绑定的数据源
- (转)Android画图Path的使用
- document.createElement 使用常见问题
- ArcGIS for Android 之IdentifyTask初步认识和使用
- JDBC数据库的操作
- c++ 高性能网络库