一 概述
二 内容详情
2.1 编程式
1 2 3 4 5
| 1-创建事务管理器 DataSrouceTransactionManager 2-为事务管理器设置与数据层相同的数据源 dstm.setDataSource() 3-创建事务定义对象 new DefaultTransactionDefinition() 4-创建事务状态对象,用于控制事务执行 dstm.getTransaction(td) 5-提交事务 dstm.commit(ts)
|
2.2 声明式(XML)
1-通知配置
1 2 3 4 5 6 7 8 9 10 11 12
| 1-tx配置 - 1-说明: tx配置事务专属通知类 -2-配置: -1-最外层:<tx:advice id="txAdvice" transaction-manager="txManager">//包含attributes -2-属性层:<tx:attributes></tx:attributes>//包含method -3-method层: <tx:method name="*" read-only="false" /> 2-advisor配置 -1-说明: aop:advisor配置引用事务专属通知类 -2-配置: -1-外层: <aop:config></aop:config> -2-<aop:pointcut id="pt" expression="execution(* *..*(..))"/> -3-<aop:advisor advice-ref="txAdvice" pointcut-ref="pt" />
|
2-aop:advice与aop:advisor区别
1 2
| 1-aop:advice配置的通知类可以是普通java对象 2-aop:advisor配置通知类必须实现接口
|
3-标签
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| 1-tx:advice -1-名称: tx:advice -2-类型: 标签 -3-归属: beans标签 -4-作用: 专用于声明事务通知 -5-格式:<beans><tx:advice id="" transaction-manager=""/></beans> -6-基本属性:1-id: 用于配置aop时指定通知器的id、2-transaction-manager: 指定事务管理器bean 2-tx:attributes -1-名称: tx:attributes -2-类型: 标签 -3-归属: tx:advice标签 -5-格式:<tx:advice id="" transaction-manager=""><tx:attributes/></tx:advice> 6-基本属性:无 3-tx:method -1-名称: tx:method -2-类型: 标签 -3-归属: tx:attribute标签 -4-作用: 设置具体的事务属性 -5-格式:<tx:attributes><tx:method name="get*" read-only="false"/></tx:attributes> -6-说明:通常事务属性会配置多个,包含1个读写的全事务属性,1个只读的查询类事务属性 -7-属性: -1-name="*"//待添加事务的方法名表达式(支持*号通配符) -2-read-only="false" 设置事务的读写属性, true为只读,false为读写 -3-timeout="-1" 设置事务超长时长,单位秒 -4-isolation="default"设置事务隔离级别,枚举值 -5-no-rolback-for="" 设置事务不会滚的异常,多个异常间使用,分割 -6-rollback-for="" 设置事务中比回滚的异常,多个异常用,分割 -7-propagation="required"设置事务的传播行为
|
4-声明式事务配置方式
1 2 3
| 1-设定事务管理器 2-专用事务通知器 3-AOP配置切面,使用通知器绑定切入点
|
三 思维导图
