spring AOP propagation

1.前言

  在声明式的事物中,要配置一个切面,即一组方法,如:

<tx:advice id ="txAdvice" transaction-manager="txManager">
    <tx:atrributes>
        <tx:method name="find" read-only propagation="NOT-SUPPORTED"/>
    </tx:atrributes>
</tx:advice>

tx

2.propagation serven config
  REQUIRED:支持当前事务,就新建一个事物,最常见的选择,也是默认的。

  SUPPORTS:支持当前事物,如果没有事物,就以非事物方式执行。

  MANDATORY:支持当前事务,如果没有当前的事物,就抛出异常。

  REQUIRED_NEW:新建事物,如果当前存在事物,就把当前事务挂起。

  NOT_SOPPORTED:以非事物方式执行操作,如果当前存在事物,就把当前事务挂起。

  NEVER:以非事物方式执行,如果当前存在事物,就抛出异常。

3.这个配置将影响数据存储,必须根据情况选择。

时间: 2025-01-18 08:55:26

spring AOP propagation的相关文章

Spring AOP propagation七种属性值

<!-- 配置事务通知 --> <tx:advice id="advice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception"/> <tx:m

spring aop中的propagation的7种配置的意思

1.前言. 在声明式的事务处理中,要配置一个切面,即一组方法,如 Java代码   <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="find*" read-only="true" propagation="NOT_SUPPORTED" />

Spring aop +自定义annotation

Spring aop +自定义注解 一.所需的jar 包: <!-- 导入java ee jar 包 --> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> </dependency> <!--spring ,springmvc--> <

如何简单理解spring aop和事务

用比喻的方法理解吧: 初学者的理解,仅仅为了个人好记 aop:由三部分组成:工具箱,工人,为工人分配工具 tx事务:由四部分组成:管理者,制度,工人,向工人通知管理制度  为什么这样理解呢?个人觉得好记: 在aop 中有切面:切面内的东西用来公共使用,类似于工具箱: ref就是这个工具箱的具体bean.. <aop:aspect id="***" ref="*****"> 切点:切点是许多符合切点表达式的东西,只要符合就可以使用公共的东西.根据表达式,挑

Spring AOP 深入剖析

AOP是Spring提供的关键特性之一.AOP即面向切面编程,是OOP编程的有效补充.使用AOP技术,可以将一些系统性相关的编程工作,独立提取出来,独立实现,然后通过切面切入进系统.从而避免了在业务逻辑的代码中混入很多的系统相关的逻辑--比如权限管理,事物管理,日志记录等等.这些系统性的编程工作都可以独立编码实现,然后通过AOP技术切入进系统即可.从而达到了将不同的关注点分离出来的效果.本文深入剖析Spring的AOP的原理. 1. AOP相关的概念 1)Aspect:切面,切入系统的一个切面.

Spring AOP Schema aop:config、tx:advice

Spring AOP Schema  aop:config.tx:advice 一.      利用aop:config标签实现AOP 首先看个例子,如下 接口代码: package com.lei.demo.aop.schema; public interface IHello { public void sayHello(); } 接口实现: package com.lei.demo.aop.schema; public class HelloService implements IHell

Spring Aop 切点表达式

在Spring AOP 中,通常需要借助AspectJ 的切点表达式语言来定义切点.重要的是Spring 中仅支持AspectJ切点指示器的一个子集. Spring 支持的AspectJ的切点指示器 AspectJ 指示器 描述 args() 限制连接点匹配参数为执行类型的执行方法 @args() 限制连接点匹配参数由执行注解标注的执行方法 execution() 匹配连接点的执行方法 this() 限制连接点匹配AOP代理的Bean引用类型为指定类型的Bean target() 限制连接点匹配

Spring AOP报错处理 Can not set field to $Proxy 在spring中使用事物或AOP遇到的错误

[转] 解决方法: http://forum.springsource.org/showthread.php?85016-IllegalArgumentException-with-ApplicationContextAware-Proxy 在配置文件中加入proxy-target-class="true" <tx:annotation-driven transaction-manager="transactionManager" proxy-target-c

Spring AOP应用场景之事务管理

1.事务执行的时候是在前面开启事务,后面关闭事务,结束事务有两种方式,一种是正常的提交事务,一种是出现问题回滚事务. spring事务默认只有在抛出unchecked Exception才会回滚 UncheckedException包括error和runtimeException派生出的所有子类 2.什么时候才用事务?对数据库的数据进行批量或连表操作时,为了保证数据的一致性和正确性,我们需要添加事务管理机制进行管理.当对数据库的数据进行操作失败时,事务管理可以很好保证所有的数据回滚到原来的数据,