一个关于struts + spring + hibernate整合事务配置的问题(请教高手)
... ...
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="txProxyTemplate" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="transactionManager"></property>
<property name="transactionAttributes">
<props>
<prop key="create*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean id="userDAO" class="dgut.ke.dao.impl.UserDAO">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="userService" parent="txProxyTemplate" class="dgut.ke.service.impl.UserService">
<property name="userDAO" ref="userDAO" />
</bean>
... ....
启动Tomecat时出了错.之前没有添加事务处理时.上面的代码是可以正常运行的.添加事务之后却出现以下错误
ERROR - Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userService' defined in ServletContext resource [/WEB-INF/applicationContext-hibernate.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'transactionManager' of bean class [dgut.ke.service.impl.UserService]: Bean property 'transactionManager' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
Caused by:
org.springframework.beans.NotWritablePropertyException: Invalid property 'transactionManager' of bean class [dgut.ke.service.impl.UserService]: Bean property 'transactionManager' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
解决办法
把
<bean id="userService" parent="txProxyTemplate" class="dgut.ke.service.impl.UserService">
<property name="userDAO" ref="userDAO" />
</bean>
换成以下代码就可以正常运行了
<bean id="userService" parent="txProxyTemplate">
<property name="target">
<bean class="dgut.ke.service.impl.UserService">
<property name="userDAO" ref="userDAO"></property>
</bean>
</property>
</bean>
分享到:
相关推荐
《轻量级Java EE企业应用实战(第4版)》这本书深入探讨了Struts 2、Spring 4和Hibernate这三大框架的整合开发,旨在帮助读者掌握如何在实际项目中高效构建Java EE应用。SSH(Struts 2、Spring、Hibernate)是Java ...
SSH三大框架,即Struts、Spring和Hibernate,是Java Web开发中的常用技术组合,它们各自负责不同的职责:Struts作为MVC模式中的Controller层,处理用户请求并转发到相应的业务逻辑;Spring则作为核心容器,负责依赖...
Struts2、Spring2.5和Hibernate3.2是Java Web开发中经典的三大框架,它们的整合使用在过去的许多年里被广泛应用于企业级应用系统。这个完整的项目提供了从开发环境到运行环境的所有必要组件,包括数据库脚本,使得...
SSH整合的关键在于配置文件,包括Struts 2的struts.xml、Spring的applicationContext.xml和Hibernate的hibernate.cfg.xml。这些文件定义了各组件之间的关系和行为。例如,struts.xml中配置Action类及其结果视图,...
开发人员可以通过分析这些文件,了解如何配置Struts2、Spring4和Hibernate4的整合,学习如何在实际项目中应用这三大框架。此外,还可以通过阅读源码,理解它们之间的交互机制,加深对MVC模式和Java Web开发的理解。 ...
通过以上步骤,一个基本的Struts、Spring和Hibernate整合的应用就搭建完成了。这个整合的关键在于Struts处理HTTP请求,Spring管理业务对象和依赖,而Hibernate则处理数据库操作。这样的架构可以实现松耦合,便于代码...
#### 二、Struts+Spring+Hibernate整合实践 **2.1 Spring整合Struts** **2.1.1 整合理念** Spring框架可以用来整合Struts框架,以实现更高级别的松耦合。通过这种方式,可以确保业务逻辑与UI逻辑的分离,同时也...
整合Struts1、Spring2和Hibernate2的过程主要包括以下步骤: 1. **配置环境**:确保所有依赖库已添加到项目的类路径中,如struts-core.jar、spring-framework.jar和hibernate-core.jar等。 2. **配置Struts1**:...
在《轻量级 J2EE 企业应用实战:Struts+Spring+Hibernate 整合开发》这本书中,读者可以期待学习到如何配置和使用这三个框架,理解它们之间的协作方式,以及如何在实际项目中有效地应用SSH架构。书中可能涵盖从基本...
在SSH整合中,Spring作为业务逻辑的容器,管理Bean的生命周期和事务。它还能与Hibernate进行无缝集成,简化数据访问层的配置。此外,Spring MVC是Spring的一部分,可以替代Struts作为前端控制器,提供更灵活的架构。...
**整合Struts+Spring+Hibernate** 整合这三个框架意味着将它们各自的功能结合起来,实现Web应用的全栈开发。Struts用于前端的请求处理和视图页面的跳转,Spring管理业务逻辑和事务处理,并且通过依赖注入提供资源...
这种整合方式的优势在于,Struts2处理用户交互,Spring提供整体的依赖管理和事务控制,Hibernate则简化了数据库操作。通过它们的协作,可以构建出松散耦合、可测试性高且具有良好架构的Java Web应用。然而,随着...
4. SSH的整合配置,包括Spring如何管理Struts 2的Action,以及Spring和Hibernate的集成。 5. 示例应用的创建,从需求分析到实际编码,展示SSH整合开发的全过程。 6. 故障排查和性能优化技巧。 通过阅读这本书,读者...
在传统的Struts、Spring和Hibernate整合中,大量的XML配置文件是必不可少的,包括struts.xml、spring-context.xml、hibernate.cfg.xml等。然而,随着Java注解的发展,许多配置可以通过在类或方法上添加注解来完成,...
总的来说,Struts2.1、Spring2.5和Hibernate3.3的整合为开发者提供了一个强大的开发平台,可以高效地构建复杂的Java Web应用。尽管现代框架如Spring Boot已逐渐取代这种传统的整合方式,但对于理解企业级开发的底层...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合(SSH)极大地提升了开发效率和项目的可维护性。下面将详细讲解这三大框架的核心功能以及整合过程中的关键知识点。 1. **Struts2**:Struts2是一...
《轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发电子书1》是一本专注于Java EE企业级应用开发的书籍,主要涵盖了Struts 2、Spring和Hibernate这三个流行开源框架的整合应用。这本书对于Java...
Struts、Spring和Hibernate是Java开发中非常经典的三大框架,它们的整合应用,通常被称为SSH框架集成。这个实例是专为初学者设计的,旨在帮助理解如何在MyEclipse环境中进行SSH的集成与应用。 首先,Struts是MVC...
Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...