由于图省事,而且系统比较小,感觉service层比较繁琐,就直接在action里调用的dao
现在想使用事务 action代码大致如下
public ActionForward addOrg(
orginfoDAO.insert(orginfo);
userDAO.insert(userInfo);
}
action里有这样的两个操作,分别用两个dao去处理,我想加上事务处理,使用的spring配置好像还是1.X的(见笑)
使用HibernateTransactionManager 和TransactionProxyFactoryBean类去管理事务,在target里设置target为action的bean name
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<bean id="orgManagerProxy" lazy-init="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager"><ref bean="transactionManager"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop>
<prop
key="add*">PROPAGATION_REQUIRED,Exception</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
<property name="target">
<ref="/userOrgManager">
</property>
</bean>
action bean定义如下
<bean name="/userOrgManager"
class="web.manager.ManagerAction">
<property name="baseDAO">
<ref local="baseDAO"/>
</property>
<property name="userDAO">
<ref local="userDAO"/>
</property>
<property name="orginfoDAO">
<ref local="orginfoDAO"/>
</property>
</bean>
但是这样配置是不生效的,直接使用TransactionProxyFactoryBean去管理dao的话,只能是单个dao进入事务管理,比较郁闷,如果有service层的话,可以用action去调用包装好的带事务的service,但现在这样配置后使用action依然是没有包装过的原始action,不知道怎么配比较好,还是非得加service层呢?希望大家指教。我用编程式事务去管理是可以的,但是比较麻烦,想用直接注入实现一下。
分享到:
相关推荐
Spring声明式事务管理是Spring框架中的一个重要特性,它允许开发者在不修改代码的情况下,通过配置来控制事务的边界。这种方式极大地简化了事务管理,使得事务处理与业务逻辑解耦,提高了代码的可维护性和可测试性。...
综上所述,Spring 2.x的声明式事务配置模板主要由`applicationContext.xml`中的事务管理器配置和注解驱动的事务管理两部分组成,结合`@Transactional`注解在业务逻辑中的使用,可以实现自动化、高效且易于维护的事务...
书中会讲解如何集成这些技术,以及使用Spring的声明式事务管理。 6. **Web开发**:Spring MVC是Spring框架的一部分,用于构建Web应用程序。书中将详细讲述如何设置MVC项目、控制器、视图解析器和模型-视图-控制器...
在这个项目中,我们看到的是一个基于Struts2.3、Spring3.2和MyBatis3.1的集成应用,其中使用了注释式的事务管理。 首先,让我们来详细了解一下这三个框架: 1. **Struts2**:这是一个基于MVC设计模式的Java Web...
从内容中可以提炼出关于Spring框架的多个知识点,包括但不限于Spring的声明式事务管理、依赖注入、Spring MVC、Spring Boot等核心概念。 标题中的“Spring in action”指的是使用Spring进行开发的实践经验,而...
6. **Spring AOP**:介绍面向切面编程的概念,如何定义和应用切面,以及如何使用Spring的声明式事务管理。 7. **Spring Boot**:讨论Spring Boot的快速启动特性,如何简化Spring应用的配置和部署。 8. **Spring ...
- **1.2.3 事务管理**:Spring 提供了强大的声明式事务管理支持。 - **1.2.4 数据访问抽象**:Spring 对数据访问进行了抽象,提供了统一的数据访问接口。 - **1.2.5 Web 支持**:Spring 包含了Web开发所需的大部分...
申明式事务管理是Spring框架的一个强大特性,它允许开发者在不直接编写事务管理代码的情况下,通过配置或注解来控制事务的边界。在转账业务中,事务的正确管理至关重要,因为涉及资金的转移必须确保原子性、一致性、...
- **实现方式**:Spring提供了声明式事务管理和编程式事务管理两种方式,其中声明式事务管理通过注解或XML配置来简化事务处理逻辑。 4. **Web层开发**: - **Spring MVC框架**:Spring MVC是Spring框架中的一个...
《Spring in Action》是关于Spring框架的一本经典书籍,它深入浅出地介绍了Spring的核心概念和技术。这个"spring in action的jar包"很可能是书中提到的一些必要的库文件,用于配合书中的实例代码运行。这些jar包是...
Spring 实战包括使用 Spring Boot 构建 Web 应用程序、使用 Spring Data 构建数据访问层、使用 Spring Security 构建安全应用程序等。 10. Spring 生命周期 Spring 生命周期是指 Spring 应用程序从启动到关闭的...
Spring in Action CN.001<br>Spring in Action CN.002<br>Spring in Action CN.003<br>Spring in Action CN.004<br>Spring in Action CN.005<br>Spring in Action CN.006<br>Spring in Action CN.007<br>Spring in ...
它简化了事务管理,提供了声明式和编程式事务处理方式。 4. **Spring MVC**:Spring的Web MVC框架提供了一种模块化、可扩展的方式来构建Web应用程序。它包括DispatcherServlet、Model-View-Controller模式、视图...
Spring是一个广泛使用的Java企业级应用开发框架,它简化了应用程序的构建、管理和测试,同时也支持多种编程模型,如面向切面编程(AOP)和声明式事务管理。 1. **Spring框架基础** - **依赖注入(Dependency ...
·声明式事务与事务管理; ·与其他Web框架集成:Struts、WebWork、Tapestry、Velocity; ·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉问题; ·企业组应用系统最佳实践。 “……一种解释...
·声明式事务与事务管理; ·与其他Web框架集成:Struts、WebWork、Tapestry、Velocity; ·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉问题; ·企业组应用系统最佳实践。 “……一种解释...
- **Spring事务管理**:Spring框架提供了一套声明式事务管理方案,可以通过注解(如`@Transactional`)或XML配置来实现。 4. **远程服务调用** - **概念**:远程服务调用是指在一个分布式系统中,不同节点之间的...
9. **事务管理**:Spring提供了声明式和编程式事务管理,使开发者能够轻松地处理复杂的事务需求。书中将展示如何在Spring应用中配置和使用事务管理。 10. **消息传递**:Spring框架也支持消息传递,如JMS(Java ...