`

四、用事务通知声明式地管理事务

阅读更多

一、用事务通知声明式地管理事务

spring 2.x 提供了一个事务通知,你能用tx Schema中定义的<tx:advice>元素轻松的对它进行配置。

 

<bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager" id="transactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 以AspectJ方式 定义 AOP -->
<aop:config>
<aop:pointcut id="yyManagerOperations" expression="execution(* com.xx.yy..*Manager.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="yyManagerOperations" />
</aop:config>
<!-- 相当于创建了一个 TransactionIntercepter 事务环绕通知 -->

<!-- 基本事务定义,使用transactionManager作事务管理,默认get*方法的事务为readonly,其余方法按默认设置.
默认的设置请参考Spring文档事务一章. -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="get*" read-only="true"
propagation="REQUIRED" />
<tx:method name="find*" read-only="true"
propagation="REQUIRED" />
<tx:method name="query*" read-only="true"
propagation="REQUIRED" />
<tx:method name="show*" read-only="true"
propagation="REQUIRED" />
<tx:method name="list*" read-only="true"
propagation="REQUIRED" />
<tx:method name="*" propagation="REQUIRED"
rollback-for="com.xx.core.exception.BusinessException" />
</tx:attributes>
</tx:advice>

 

分享到:
评论

相关推荐

    Xml文件配置实现声明式事务管理

    4. **使用注解**:虽然这里我们主要讨论XML配置,但Spring同样支持在方法上使用`@Transactional`注解来声明事务,这在许多情况下更加方便。 总结,通过XML配置实现的声明式事务管理是Spring框架的一个强大特性,它...

    spring AOP(声明式事务管理)小程序

    在Spring框架中,我们可以使用@Transactional注解在方法级别声明事务边界。 2. **Spring AOP的工作原理**: Spring AOP基于动态代理机制,当一个对象被标记为切面后,Spring会在运行时生成一个代理对象,这个代理...

    声明式事务处理 SSh

    自Spring 2.5起,我们可以直接在服务层的接口或实现类的方法上使用@Transactional注解来声明事务。注解提供了与XML配置类似的属性,如`propagation`、`rollbackFor`和`noRollbackFor`。这种方式更加直观,便于代码...

    Spring声明式事务处理

    声明式事务处理的核心是基于AOP(面向切面编程)的,Spring通过在事务边界添加通知(advice)来实现事务管理。这包括开始事务、提交事务、回滚事务等操作。用户只需在配置文件或使用注解来声明哪些方法需要在事务中...

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

    Spring 声明式事务处理 Spring 中的事务处理可以分为两种方式:声明式事务处理和编程式事务处理。...通过使用 AOP 和 IoC 容器,我们可以轻松地实现事务管理,并且可以灵活地配置事务管理的属性信息。

    spring声明式事务.zip

    在`spring-demo26-声明式事务-xml`示例中,我们会在Spring的配置文件中定义事务管理器(如DataSourceTransactionManager或JtaTransactionManager),然后使用`&lt;tx:advice&gt;`标签定义事务通知,并通过`&lt;aop:config&gt;`...

    Spring 整合mybatis(注解&xml版声明式事务).pdf

    如果采用XML配置方式,则需要在Spring的XML配置文件中进行事务配置,并通过aop命名空间来定义事务通知及切点,从而实现声明式事务管理。 对于开发者而言,Spring与MyBatis的整合简化了事务和持久层的处理,减少了...

    SSM中进行注解式和XML配置式事务管理代码

    2. **声明事务规则**:在`&lt;tx:advice&gt;`元素中定义事务通知,通过`&lt;tx:attributes&gt;`指定哪些方法需要进行事务管理。可以使用`propagation`、`isolation`、`read-only`、`timeout`和`rollback-for`属性来配置事务属性...

    spring事务管理

    ### Spring事务管理详解 #### 一、Spring事务管理概述 Spring框架提供了强大的事务管理功能,使得开发者能够更方便地管理应用程序中...而对于复杂的业务流程,则可以考虑使用编程式事务管理来更好地控制事务的行为。

    spring3.0两种事务管理配置

    接下来,我们需要定义事务通知,包括定义方法的过滤规则,所有方法都使用事务,并且定义所有 get 开头的方法都是只读的。 最后,我们需要定义 AOP 配置,包括定义一个切入点,定义事务的通知,进行适配。 基于 @...

    配置事务通知

    【配置事务通知】是关于在IT领域中管理数据库操作的重要概念,主要涉及到程序中的事务管理和错误处理。在软件开发中,事务是确保数据一致性的重要机制,它定义了一组操作,这些操作要么全部成功,要么全部失败。事务...

    spring2.0声明式事务

    在 Spring 2.0 中,可以使用 `&lt;tx:advice&gt;` 和 `&lt;aop:config&gt;` 元素来定义事务通知和切面。具体配置如下: ```xml *" propagation="REQUIRED" /&gt; (* com.example.service.*.*(..))" /&gt; ``` ####...

    Spring延迟加载和声明式事务处理最终解决方案(修正版)

    - **XML配置**:在Spring的配置文件中定义事务管理器(如`PlatformTransactionManager`),并声明事务的通知(advice),指定哪些方法需要进行事务处理。 - **Java配置**:使用`@EnableTransactionManagement`注解...

    SSM中事务管理所需的jar包-aspectjweaver

    声明式事务管理更易于维护,只需在配置文件或注解中声明事务属性,而无需在业务代码中显式控制事务开始和结束。 2. **AspectJ**:AspectJ是一个强大的AOP框架,它允许开发者定义“切面”,即关注点的模块化,如日志...

    SSM事务管理所需jar包

    在实际开发中,通常结合这两种方式使用,声明式事务管理用于大多数情况,而编程式事务管理用于处理一些特殊场景,如批量操作、事务嵌套等。 总结来说,这些jar包构成了SSM事务管理的基础,通过AOP和动态代理技术,...

    spring事务与数据库操作

    其中声明式事务管理因其易于使用和维护而被广泛采用。 ##### 1.1 Spring声明式事务介绍 Spring的声明式事务管理是通过配置文件或注解的方式来实现的。这种方式将业务逻辑与事务管理代码分离,使得代码更加清晰且...

    Spring事务管理

    - **基于注解的配置**:使用`@Transactional`注解直接在业务方法上声明事务属性,如`PROPAGATION_REQUIRED`表示必须有事务,如果没有则新建。这种方式更加简洁,但需要开启Spring的注解驱动事务管理。 3. **事务...

    Spring基于XML方式配置事务

    编程式事务管理通过`PlatformTransactionManager`接口及其实现类(如`DataSourceTransactionManager`)进行手动控制,而声明式事务管理则更加简便,通过在XML配置或注解中声明事务边界。 在XML配置中,事务管理主要...

    第十四章 Spring4 切面事物与事物通知与传播行为

    编程式事务管理需要在代码中显式地管理事务开始、提交和回滚,而声明式事务管理则通过在配置或注解中声明事务规则,更加灵活且易于维护。例如,使用@Transactional注解可以轻松地为方法添加事务边界。 三、事务通知...

Global site tag (gtag.js) - Google Analytics