学啥
==
今天学习了一下aop的事务管理,没分析内部,估计只不过对使用进行了封装,让我们使用更加简便而已
功能
–
-
可以通过切面编程对指定的进行事务管理
-
可以控制异常的类型才进行回滚
-
可以控制事务的timeout
Propagation取值:
| 值 | 备注 |
| — | — |
| REQUIRED(默认值) | 在有transaction状态下执行;如当前没有transaction,则创建新的transaction |
| SUPPORTS | 如当前有transaction,则在transaction状态下执行;如果当前没有transaction,在无transaction状态下执行 |
| MANDATORY | 必须在有transaction状态下执行,如果当前没有transaction,则抛出异常IllegalTransactionStateException |
| REQUIRES_NEW | 创建新的transaction并执行;如果当前已有transaction,则将当前transaction挂起 |
| NOT_SUPPORTED | 在无transaction状态下执行;如果当前已有transaction,则将当前transaction挂起 |
| NEVER | 在无transaction状态下执行;如果当前已有transaction,则抛出异常IllegalTransactionStateException |
例子1(xml)
直接看例子再分析分析
<?xml version="1.0" encoding="UTF-8"?><beans xmlns=“http://www.springframework.org/schema/beans”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xmlns:aop=“http://www.springframework.org/schema/aop”
xmlns:tx=“http://www.springframework.org/schema/tx”
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
aop:config
<aop:pointcut id=“defaultServiceOperation”
expression=“execution(* x.y.service.Service.(…))”/>
<aop:pointcut id=“noTxServiceOperation”
expression=“execution(* x.y.service.ddl.DefaultDdlManager.*(…))”/>
<aop:advisor pointcut-ref=“defaultServiceOperation” advice-ref=“defaultTxAdvice”/>
<aop:advisor pointcut-ref=“noTxServiceOperation” advice-ref=“noTxAdvice”/>
</aop:config>
<tx:advice id=“defaultTxAdvice”>
tx:attributes
<tx:method name=“get*” read-only=“true”/>
<tx:method name=“*”/>
</tx:attributes>
</tx:advice>
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
710850511005)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-vsDQBLrg-1710850511006)]