`
mly799280326
  • 浏览: 6331 次
文章分类
社区版块
存档分类
最新评论

SSH整合的Property 'sessionFactory' is required问题

 
阅读更多
今天在搭框架的时候,碰到一个很奇怪的问题,Property 'sessionFactory' is required是用spring向hibernate中注入sessionFactory的时候不成功。
我一开始以为是配置文件出错了。结果并不是。

我的BaseDao如下:
public class BaseDao {

private SessionFactory sessionFactory;
private HibernateTemplate hibernateTemplate;

public HibernateTemplate getHibernateTemplate(){

if(hibernateTemplate == null){
hibernateTemplate = new HibernateTemplate  (sessionFactory);
}
return hibernateTemplate;
}

public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
}

我的TestDaoImpl如果下:
public class TestDaoImpl extends BaseDao implements TestDao {

private HibernateTemplate hibernateTemplate =    super.getHibernateTemplate();

public Test get(){
Test t = hibernateTemplate.get(Test.class, 1);
return t;
}
}

配置文件:
<!-- 配置Hibernate的sessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 配置dataSource属性指定数据源 -->
<property name="dataSource" ref="datasource"></property>
<!-- 配置Hibernate的PO映射文件 -->
<property name="mappingResources">
<list>
<value>/com/feidu/ehr/entity/Test.hbm.xml</value>
</list>
</property>
<!-- 配置Hibernate的常规属性设置  -->
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
hibernate.show_sql=true
hibernate.format_sql=true
</value>
</property>
</bean>

         <!-- dao -->

<bean id="baseDao" class="com.feidu.ehr.dao.BaseDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>

<bean id="testDaoImpl" class="com.feidu.ehr.dao.daoimpl.TestDaoImpl" parent="baseDao">
</bean>

<!-- biz -->
<bean id="testBiz" class="com.feidu.ehr.biz.bizimpl.TestBizImpl">
<property name="testDao" ref="testDaoImpl">
</property>
</bean>

配置文件没有错误;问题就出在TestDaoImpl:
private HibernateTemplate hibernateTemplate =    super.getHibernateTemplate();
不能把hibernateTemplate作为属性。TestDaoImpl应该改为:
public class TestDaoImpl extends BaseDao implements TestDao {
public Test get(){
Test t = super.getHibernateTemplate().get(Test.class, 1);
return t;
}
}

这样问题就解决了!
分享到:
评论
1 楼 微积天 2014-07-16  
请问为什么不能把hibernateTemplate作为属性?

相关推荐

    ssh整合+spring声明式事务

    SSH整合是指将Struts2、Spring和Hibernate三个开源框架集成在一起,用于构建高效、灵活的企业级Web应用程序。在这个过程中,Spring作为核心容器负责管理和协调其他组件,Struts2作为MVC框架处理用户交互,而...

    ssh 框架完全整合笔记

    SSH框架整合是将Spring、Struts和Hibernate三个流行的开源Java Web开发框架集成在一起,以构建高效、可维护的Web应用程序。下面将详细讲解SSH框架整合的各个部分。 一、Spring整合Hibernate 1. **无需Hibernate...

    ssh整合配置(struts2.2.1+ hibernate3.6+spring3.0.5)

    在SSH整合中,Spring主要负责管理各个组件的生命周期,包括Struts2的Action和Hibernate的SessionFactory。 以下是SSH整合的基本步骤: 1. **配置Spring**:创建`applicationContext.xml`,配置数据源、...

    SSH事务配置大全

    &lt;property name="sessionFactory"&gt; &lt;ref local="sessionFactory"/&gt; &lt;/property&gt; ``` 2. **服务层Bean的配置** 通常情况下,业务逻辑会封装在一个或多个服务层Bean中。例如,以下代码片段定义了一个名为`...

    ssh事务处理

    &lt;property name="sessionFactory"&gt; &lt;ref bean="sessionFactory"/&gt; &lt;/property&gt; ``` ##### 4. 事务代理配置 为了使业务逻辑能够自动地参与事务管理,还需要配置一个事务代理。这里使用了`...

    图解SSH(struts2,spring,hibernate)框架配置步骤

    整合 SSH 框架可以让开发者更专注于业务逻辑,而无需关心底层的细节。Struts2 提供了 MVC 架构,Spring 提供了依赖注入和事务管理,Hibernate 则简化了数据库操作。通过恰当的配置,这三个强大的框架可以协同工作,...

    SSH第7章上机.zip ACCP8.0

    &lt;property name="sessionFactory" ref="sessionFactory" /&gt; &lt;!-- 事务的通知类型 --&gt; *" propagation="REQUIRED"/&gt; *" propagation="REQUIRED"/&gt; *" propagation="REQUIRED"/&gt; *" read-only="true" /&gt; &...

    搭建ssh2框架的步骤

    ### 搭建SSH2框架的关键步骤与实践 #### 一、引言 SSH2框架,即Spring2.5、Struts2与Hibernate3.3的集成开发框架,在Java Web应用开发领域占据着重要的地位。它能够有效地提高开发效率,简化复杂的业务逻辑处理。...

    三大框架整合(Spring+Hibernate+Struts1/Struts2)

    &lt;property name="sessionFactory" ref="sessionFactory"&gt;&lt;/property&gt; ``` 4. **事务策略配置**: 使用Spring的事务注解(TX),定义不同的方法调用时的事务传播行为。例如: ```xml *" propagation=...

    Spring2.5+Struts1.3.8+Hibernate3.0整合

    Spring2.5 + Struts1.3.8 + Hibernate3.0 (简称SSH)整合是一种典型的Java Web开发模式,旨在通过组合这三种技术框架来构建高性能、易于维护的企业级应用系统。本文将详细介绍SSH整合的关键步骤及其配置细节,帮助...

    ssh框架在application.xml中配置数据源所需jar

    &lt;property name="sessionFactory"&gt; &lt;ref bean="sessionFactory"/&gt; &lt;/property&gt; &lt;!-- 配置事务的传播特性 --&gt; *" propagation="REQUIRED"/&gt; *" propagation="REQUIRED"/&gt; *" propagation=...

    SSH 框架开发常用的配置

    &lt;property name="sessionFactory"&gt; &lt;ref bean="sessionFactory"/&gt; &lt;/property&gt; ``` 7. **编写必要的通用类:** - 可以编写一些通用工具类,例如日期处理、字符串处理等,以便在项目中复用。 8. **测试SSH...

    ssh事务配置.txt

    &lt;property name="sessionFactory" ref="sessionFactory"/&gt; ``` 这里的`transactionManager`就是Spring中负责管理事务的bean。它依赖于`sessionFactory`,后者是Hibernate提供的用于创建Session对象的工厂类。 ##...

    ssh框架常用开发过程 很实用的哦

    &lt;property name="sessionFactory" ref="sessionFactory"/&gt; ``` - 配置事务属性: ```xml &lt;property name="transactionAttributes"&gt; *"&gt;PROPAGATION_REQUIRED *"&gt;PROPAGATION_REQUIRED *"&gt;PROPAGATION_...

    Myeclipse6.0中SSH框架搭建

    &lt;property name="sessionFactory" ref="sessionFactory"/&gt; &lt;!-- Transaction Interceptor --&gt; &lt;property name="transactionManager" ref="transactionManager"/&gt; &lt;property name="transactionAttributes"&gt; ...

    SSH框架集成步骤

    &lt;property name="sessionFactory" ref="sessionFactory"/&gt; ``` 其中`sessionFactory`引用了之前配置的SessionFactory Bean。 **2.4 配置事务通知** 为了使Spring能够自动管理事务,我们需要在Spring的配置文件...

    SSH搭建教程.pdf

    &lt;property name="sessionFactory" ref="sessionFactory"/&gt; ``` ###### 2.2.5 编写JUnit测试代码 创建JUnit测试类,验证业务逻辑是否按预期工作。 ```java public class UserServiceTest { @Autowired ...

    spring整合hibernate实现事务处理

    &lt;property name="sessionFactory" ref="sessionFactory"/&gt; ``` 接着,可以使用`&lt;tx:advice&gt;`和`&lt;aop:config&gt;`标签来定义事务策略和切点。例如,为Service层的所有方法开启事务: ```xml *" propagation...

    维生药业小项目 SSH简单学习项目

    维生药业小项目 SSH简单学习项目 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns...

    J2EE SSH事务配置

    &lt;property name="sessionFactory" ref="sessionFactory" /&gt; &lt;!-- 定义事务通知 --&gt; *" propagation="REQUIRED" /&gt; *" propagation="REQUIRED" /&gt; *" propagation="REQUIRED" /&gt; *" propagation=...

Global site tag (gtag.js) - Google Analytics