`

Spring注解方式,异常 'sessionFactory' or 'hibernateTemplate' is required的解决方

阅读更多
2012-03-27 19:47 Spring注解方式,异常 'sessionFactory' or 'hibernateTemplate' is required的解决方法 Caused by: java.lang.IllegalArgumentException: 'sessionFactory' or 'hibernateTemplate' is required
at org.springframework.orm.hibernate3.support.HibernateDaoSupport.checkDaoConfig(HibernateDaoSupport.java:118)
at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:44)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
... 26 more

以前写配置文件时,sessionFactory需要单独配置,现在全注解方式,如何设置sessionFactory呢?

项目中所有Dao实现类都继承了HibernateDaoSupport
根据提示是没有'sessionFactory' 或者'hibernateTemplate',但是通过下面代码给他注解了还是报同样的错误:

@Resource

private org.hibernate.SessionFactory sessionFactory;

结果查看HibernateDaoSupport的源代码得知:setSessionFactory方法是:

public final void setSessionFactory(SessionFactory sessionFactory) {
  if (this.hibernateTemplate == null || sessionFactory != this.hibernateTemplate.getSessionFactory()) {
   this.hibernateTemplate = createHibernateTemplate(sessionFactory);
  }
}

说明在子类中想通注解设置 sessionFactory (重写setter方法是不行的),那么怎么办,我们只能通过super.setSessionFactory ()调用

@Resource(name="sessionFactory")

private void setMySessionFactory(SessionFactory sessionFactory){

  //这个方法名可以随便写,@Resource可以通过name 或者type来装载的。
  super.setSessionFactory(sessionFactory);
}
分享到:
评论

相关推荐

    一个模拟Spring将SessionFactory注入到HibernateTemplate的小例子

    NULL 博文链接:https://tedtian.iteye.com/blog/1988917

    第24次课-1 Spring与Hibernate的整合

    开发者通过HibernateCallback,可以完全使用Hibernate灵活的方式来访问数据库,解决了Spring封装Hibernate后灵活性不足的缺陷。 24.3 Spring对Hibernate的简化 24.3.4 HibernateTemplate的复杂用法 ...

    Spring的学习笔记

    (二) annotation注解方式的SessionFactory 30 二、 引入hibernate所需要使用的jar 31 (一) 基本jar 31 (二) 加入annotation功能的jar包 31 (三) 搭建日志环境并配置显示DDL语句jar包 31 三、 Spring整合hibernate3...

    spring配置sessionFactory(spring3.2.3+hibernate4.2.2)

    一个实例小工程,讲解的是将hibernate的sessionFactory交给spring管理的配置方法

    SSH整合中 hibernate托管给Spring得到SessionFactory

    Spring文件中的 SessionFactory中 加入为了能得到同一个Session

    MySSH.rarSSH框架,spring管理sessionFactory

    spring管理sessionFactory,将sessionFactory注入基础类,将基础类设置为单例模式,下载后直接部署使用,根据实体类自行建表

    spring2.5 学习笔记

    (二) annotation注解方式的SessionFactory 30 二、 引入hibernate所需要使用的jar 31 (一) 基本jar 31 (二) 加入annotation功能的jar包 31 (三) 搭建日志环境并配置显示DDL语句jar包 31 三、 Spring整合hibernate3...

    java多数据源注解方式

    多数据源注解方式 java dataSource sessionFactory 多个数据源的情况之下,使用注解的方式完成数据源的切换

    Spring2.5和Hibernate3集成--学习spring aop ioc

    Spring2.5和Hibernate3集成 采用声明式事务 1.声明式事务的配置 * 配置sessionFactory * 配置事务管理器 * 配置事务的传播特性 * 配置哪些类哪些方法使用事务 2.编写业务逻辑方法 * 继承...

    spring五种事务配置demo

    测试spring事务管理 搭建了ssh框架的web工程 本工程用到的数据库表很简单 user(id, name) 可自行创建 本例所有的事务放在service层进行管理,方法中间抛出... 第5种方式:全注解 详见spring-core-transaction-5.xml

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    MyBatis_3_整合Spring3、SpringMVC.pdf

    MyBatis_3_整合Spring3、SpringMVC

    Spring中文帮助文档

    12.2.2. 在Spring容器中创建 SessionFactory 12.2.3. The HibernateTemplate 12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的...

    Spring4.0+Hibernate4.0+Struts2.3整合案例

    Spring4.0+Hibernate4.0+Struts2.3整合案例:实现增删改查。... 可以解决办法是:当方法不需要事务支持的时候,使用 Session session = sessionFactory.openSession()来获得Session对象,问题解决!

    Spring API

    12.2.2. 在Spring容器中创建 SessionFactory 12.2.3. The HibernateTemplate 12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的...

    Spring3.x企业应用开发实战(完整版) part1

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    spring框架多数据源切换问题的解决

    首先,这个方案完全是在spring的框架下解决的,数据源依然配置在spring的配置文件中,sessionFactory依然去配置它的dataSource属性,它甚至都不知道dataSource的改变。 其次,实现简单,易于维护。这个方案虽然我说...

    HibernateSessionFactory.java

    HibernateSessionFactory.java

    Spring-Reference_zh_CN(Spring中文参考手册)

    12.2.2. 在Spring的application context中创建 SessionFactory 12.2.3. HibernateTemplate 12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. ...

    Spring 2.0 开发参考手册

    12.2.2. 在Spring的application context中创建 SessionFactory 12.2.3. HibernateTemplate 12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7...

Global site tag (gtag.js) - Google Analytics