因为公司系统架构升级,有原来的struts1升级为struts2,所以很多原有的配置需要改变.比如事务配置,以前的事物是通过spring的拦截器实现的.
事务配置如下:
<bean id="actionTemplate" abstract="true" class="org.springframework.aop.framework.ProxyFactoryBean" >
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean>
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="transactionManager"/>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED,-Exception</prop>
</props>
</property>
</bean>
transactionManager是事务管理器,我们项目用的是jta事务。
action配置如下:
<bean name="/dmFeeExpenseApplyAction" parent="actionTemplate">
<property name="target">
<bean class="com.suning.biz.dmfjc.feereimburse.action.DMFeeExpenseApplyAction">
<property name="dmFeeApplyService" ref="dmFeeApplyService" />
</bean>
</property>
</bean>
由于struts2 Action中属性的值是通过struts自动赋值的,而不像struts1会给你封装成一个actionForm.
用上面这种配置的话,action被代理过了,spring默认的是jdk动态代理,struts2拿到的不是原生的action对象,所以不能赋值。
所以需要改变代理方式,改为cglib代理,就可以了。
配置如下:
<bean id="actionTemplate" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="transactionManager" />
<property name="proxyTargetClass" value="true"/>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED,-Exception</prop>
</props>
</property>
</bean>
action配置与上面一样.
分享到:
相关推荐
Spring还包含了用于数据访问、事务管理、Web应用和测试的模块,是SSH集成中的“S”。 **Struts框架** 是基于MVC设计模式的Java Web框架,主要负责处理HTTP请求和控制应用程序流程。它通过Action和ActionForm类来...
它们分别负责表现层、业务逻辑层和数据访问层的管理,为开发者提供了高效、灵活的解决方案。本篇文章将深入探讨SSH框架的集成与通用配置文件,帮助你更好地理解和运用这些技术。 Struts2作为MVC(模型-视图-控制器...
这个框架集合了Spring的依赖注入、事务管理,Struts的MVC设计模式,以及Hibernate的对象关系映射(ORM)功能,为开发者提供了一个高效、灵活且功能强大的后端开发解决方案。 Spring框架是SSH的核心,它主要负责应用...
综上所述,SSH2框架集成涵盖了Web开发的主要方面,从后端的业务逻辑处理到前端的用户交互,再到数据持久化,形成了一套完整的解决方案。对于初学者而言,掌握SSH2框架不仅能够提升开发技能,也为理解和学习其他现代...
在本文中,我们将详细介绍如何搭建SSH2环境,包括所需的配置和jar包。 首先,SSH2搭建涉及的主要技术栈是Struts2、Hibernate和Spring,这三个框架的组合通常被称为SSH2框架。以下将分别介绍这些框架的关键jar包及其...
SSH2,全称为Struts2、Spring和Hibernate的第二代集成框架,是Java Web开发中的一个强大工具组合。这个框架提供了全面的企业级应用解决方案,涵盖了模型-视图-控制器(MVC)架构、依赖注入(DI)以及持久层管理等多...
通过分析这些代码,学习者可以理解各个组件的配置、接口、类和方法,以及它们之间的协作关系,这对于掌握SSH集成开发至关重要。 6. **第九章**:这可能是一个教学章节,专门讲解如何在Java EE环境中集成和使用SSH...
下面将详细讨论在SSH整合过程中可能遇到的问题及其解决方案。 1. **依赖冲突**:由于Struts、Spring和Hibernate各自有自己的库依赖,整合时可能会出现版本冲突。解决方法是确保所有库的版本兼容,或者使用Maven或...
在Java开发中,SSH通常指的是Spring、Struts和Hibernate这三个开源框架的组合,它们一起构成了一个强大的企业级应用开发解决方案。这个压缩包“ssh集成jar包”包含了搭建SSH框架所需要的各种库文件。 Spring框架是...
SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java ...不过,随着技术的发展,如今Spring Boot和Spring Framework的最新版本已经不再推荐这种传统的SSH集成方式,而是倾向于更加轻量级、自动化配置的解决方案。
SSH集成开发是Java Web开发中的一个经典组合,它由Spring、Struts2和Hibernate三个开源框架组成,分别负责控制层、表现层和持久层的管理。这个集成项目旨在提供一个全面的解决方案,使得开发者能够更高效地构建企业...
SSH2整合指的是在Java开发中,Struts2、Spring和Hibernate三个开源框架的集成应用。Struts2作为表现层框架,Spring作为业务层框架,Hibernate作为持久层框架,三者结合能够提供一套强大的MVC(Model-View-Controller...
总结来说,SSH2框架是Java Web开发的强大工具,它集成了Struts2的视图控制、Spring的依赖管理和事务处理以及Hibernate的对象关系映射,为开发者提供了便捷的开发环境和灵活的扩展能力。通过熟练掌握SSH2框架,开发者...
它们各自在应用程序的层面上发挥着不同的作用,共同构建了一个强大的企业级应用开发解决方案。 Spring框架是SSH的核心,它提供了依赖注入(DI)和面向切面编程(AOP)的能力。Spring的事务管理是其重要特性之一,它...
SSH集成是Java Web开发中的一个经典组合,由Spring、Hibernate和Struts三个开源框架组成,它们协同工作,提供了一个强大的企业级应用开发解决方案。这里我们主要探讨SSH集成的基础概念、各自的功能以及它们如何协同...
SSH框架能够帮助开发者实现MVC(Model-View-Controller)设计模式,提高开发效率,同时提供良好的分层架构和数据持久化解决方案。下面将详细解释SSH框架的配置步骤。 1. **开发环境准备** - 开发工具:MyEclipse ...
在企业级Web应用开发中,SSH2框架整合能够提供高效、灵活且可维护的解决方案。 首先,Spring框架是SSH2的核心,它是一个全面的Java应用程序框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能。Spring通过管理...
SSH(Struts2、Spring、Hibernate)是Java开发中常用的一种三大框架集成解决方案,用于构建高效、可扩展的企业级Web应用程序。这篇文档将详细介绍SSH框架的环境配置过程,旨在帮助初学者快速理解和掌握配置步骤。 ...
SSH框架,即Struts2、Spring以及Hibernate三个框架的集成,是Java Web开发中非常流行的一种解决方案。它结合了MVC架构的优势,通过Struts2进行前端控制、Spring管理业务逻辑及事务处理、Hibernate实现持久层数据存取...