`
zzg
  • 浏览: 124841 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Spring声明式事务处理

阅读更多

Spring声明式事务处理

Spring声明式事务处理也主要使用了IoC,AOP思想,提供了TransactionInterceptor拦截器和常用的代理类TransactionProxyFactoryBean,可以直接对组件进行事务代理。

使用TransactionInterceptor的步骤:

(1)定义数据源,事务管理类

(2)定义事务拦截器,例如:

<ccid_nobr> </ccid_nobr>
<ccid_code><bean id = "transactionInterceptor" 
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager"/></property>
<property name="transactionAttributeSource">
<value>com.test.UserManager.*r=PROPAGATION_REQUIRED</value>
</property>
</bean></ccid_code>

(3)为组件声明一个代理类:ProxyFactoryBean

<ccid_nobr> </ccid_nobr>
<ccid_code><bean id="userManager" 
class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>com.test.UserManager</value>
</property>
<property name="interceptorNames">
<list><idref local="transactionInterceptor"/></list>
</property>
</bean></ccid_code>

使用TransactionProxyFactoryBean:

<ccid_nobr> </ccid_nobr>
<ccid_code><bean id="userManager"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
<property name="target"><ref local="userManagerTarget"/></property>
<property name="transactionAttributes"><props>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property></bean></ccid_code>

TransactionProxyFactoryBean只是为组件的事务代理,如果我们要 给组件添加一些业务方面的验证等,可以使用TransactionTemplate加拦截器方式,为组件添加多个拦截器,spring AOP中提供了三类Advice,即前增强,后增强,抛出异常时的增强,可以灵活使用。

分享到:
评论

相关推荐

    Spring源代码解析(六):Spring声明式事务处理.doc

    Spring 声明式事务处理 Spring 中的事务处理可以分为两种方式:声明式事务处理和编程式事务处理。声明式事务处理通过 AOP 的实现,把事务管理代码作为方面封装到业务代码中,使得事务管理代码和业务代码解藕。这...

    spring声明式事务处理demo

    在这个"spring声明式事务处理demo"中,我们将探讨如何在MyEclipse环境下实现这一功能。 首先,我们要理解Spring事务管理的两种主要方式:编程式事务管理和声明式事务管理。编程式事务管理通常通过AOP(面向切面编程...

    Spring Data JPA系列4——Spring声明式事务处理与多数据源支持.doc

    Spring 声明式事务处理与多数据源支持 在大部分涉及到数据库操作的项目里面,事务控制、事务处理都是一个无法回避的问题。Spring 框架提供了声明式事务处理机制,使得业务代码中进行事务控制操作起来非常简单。只需...

    Spring声明式事务处理.wrf

    这是一个是Spring整合Hibernate的视频教程,该教程详细的讲叙了,如何整合Spring和Hibernate。提示需要commons-dbcp.jar、commons-pool.jar、spring.jar三个包。

    spring声明式事务管理配置方式

    在"spring声明式事务管理配置方式"中,主要涉及到以下几个关键知识点: 1. **Spring事务管理器(Transaction Manager)**: - Spring支持多种事务管理器,如DataSourceTransactionManager(用于JDBC事务)和...

    声明式事务处理(源代码)

    本资源包含两个文件:“Spring声明式事务处理.wrf”和“testtrans”,很可能是示例代码或者测试用例,用于演示如何在Java应用中使用Spring进行声明式事务处理。 首先,让我们深入理解声明式事务处理的概念。声明式...

    spring声明式事务配置

    ### 标题解读:Spring声明式事务配置 Spring框架提供了两种主要类型的事务管理方式:编程式事务管理和声明式事务管理。声明式事务管理通过XML配置或注解的形式定义事务边界,使得业务逻辑与事务控制分离。 ### ...

    Spring声明式事务配置管理方法

    理解并熟练运用Spring声明式事务管理,可以有效提高应用程序的事务处理能力,同时降低事务管理的复杂性。通过合理的配置,可以确保数据的一致性和完整性,这对于任何处理数据库操作的应用都是至关重要的。

    实验 spring 声明事务

    1. **配置Spring声明式事务**: 在Spring中,声明式事务管理依赖于AOP(面向切面编程)来实现。首先,需要配置一个事务管理器,通常使用`DataSourceTransactionManager`,它与数据源`dataSource`关联。然后,通过`...

    Spring添加声明式事务.docx

    Spring 声明式事务处理机制是Spring框架中一个核心特性,它允许开发者无需手动管理事务,而是通过配置或注解来控制事务的行为。这种方式基于Spring的AOP(面向切面编程)实现,使得事务控制更加简洁且易于维护。 ##...

    spring+mybatis的声明式事务

    本文将深入探讨"spring+mybatis的声明式事务"这一主题,帮助你理解并掌握这一核心技术。 1. **Spring事务管理** Spring提供两种事务管理方式:编程式事务管理和声明式事务管理。编程式事务管理通过编写代码来控制...

    Spring Boot多数据源(支持Spring声明式事务切换和回滚).pdf

    《Spring Boot多数据源(支持Spring声明式事务切换和回滚)》 Spring Boot多数据源技术是构建高效、灵活的多租户SaaS架构的关键。在本文中,我们将深入探讨如何实现动态数据源切换,支持Spring声明式事务管理,并讨论...

    Spring使用XML配置声明式事务

    在Spring框架中,声明式事务管理是实现事务处理...在博文"Spring使用XML配置声明式事务"中,作者详细讲解了每个步骤,并可能通过示例代码展示了如何实际应用这些配置,帮助读者更好地理解和掌握Spring声明式事务管理。

    spring 事务处理

    本篇将深入探讨Spring声明式事务处理,这是更常用且更易于维护的方法。 在Spring框架中,声明式事务处理依赖于AOP(面向切面编程)来实现。它允许开发者通过在方法上添加特定的注解(如@Transactional)来声明事务...

    spring声明式事务.zip

    本文将深入探讨Spring声明式事务的实现机制、优缺点以及如何在实际项目中进行配置和使用。 1. **声明式事务管理概述** 声明式事务管理与编程式事务管理相对,后者需要开发者在代码中显式调用开始、提交、回滚等...

    使用Spring的声明式事务----AOP方式

    本文将深入探讨如何利用Spring的声明式事务来处理业务操作中的数据一致性问题,以及相关源码解析。 首先,我们需要了解Spring的AOP概念。AOP是一种编程范式,它允许程序员定义“切面”,这些切面可以包含业务逻辑的...

    使用Spring的声明式事务----Annotation注解方式

    这是Spring声明式事务的核心注解,可以用于类或方法级别。当应用于类时,该类的所有公共方法都将包含在事务中。若应用于方法,只有该方法及其子方法才会被事务管理。注解中的属性包括`propagation`(事务传播行为)...

Global site tag (gtag.js) - Google Analytics