spring aop中的propagation的7种配置的意思
2015-07-16 17:33
411 查看
1.前言。
在声明式的事务处理中,要配置一个切面,即一组方法,如
Java代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/201408/88f8801791cab97efa8ba86d7476d258.png)
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="find*" read-only="true" propagation="NOT_SUPPORTED" />
</tx:attributes>
</tx:advice>
其中就用到了propagation,表示打算对这些方法怎么使用事务,是用还是不用,其中propagation有七种配置,REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER、NESTED。默认是REQUIRED。
2.七种配置的意思
下面是Spring中Propagation类的事务属性详解:
REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。
MANDATORY:支持当前事务,如果当前没有事务,就抛出异常。
REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。
NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。
NESTED:支持当前事务,如果当前事务存在,则执行一个嵌套事务,如果当前没有事务,就新建一个事务。
3.注意.
这个配置将影响数据存储,必须根据情况选择。
源:/article/3746611.html
相关文章推荐
- 关于spring-servlet.xml cannot be opened because it does not exist的解决
- 通配符的匹配很全面, 但无法找到元素 'context:component-scan'
- 用报表软件自定义地图
- Spring中的AOP
- Java 并发:Executor ExecutorService ThreadPoolExecutor
- 在 Java EE 组件中使用 Camel Routes
- 解决unsatisfiedLinkError:Method()
- eclipse打包项目
- struts2 检验 字段型校验器&非字段型校验器
- eclipse+maven+mybatis自动生成entity、dao层
- 前台jsp控件获取java后台返回的值
- Java构造和解析Json数据的两种方法详解二
- Java构造和解析Json数据的两种方法详解一
- Java内存管理
- 极客学院java 接口与抽象类学习代码示例
- java--获取指定时间与现在时间的差值
- hibernate 回调机制
- java 接口与抽象类
- java 实现文件下载时,弹出文件保存窗口(IE9)
- javaweb FileUpload 图片文件上传示例