Spring Transaction 事务提交

本文深入探讨Spring事务管理的实现,重点在于`createTransactionIfNecessary`方法,包括如何处理已存在的事务、事务挂起、异常处理及事务的提交与回滚。文章通过时序图和代码分析,揭示了Spring如何在动态代理中控制事务行为,并对事务嵌套进行了讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

transaction 第二部分

之所以称之为第二部分是因为这部分主要在 JdkDynamicAopProxy 类,之后的操作。第一次读源码,有啥偏差的地方,大虾们拍砖拍砖……

时序图

  • 开始之前先看一个时序图(画的不好,估计也就我自己看得懂 emmmmmmm)
    这里写图片描述
    这个图,一个简单的流程。如果非要说 UserService.save() 方法为啥直接到 JdkDynamicAopProxy.invoke() 方法。那是动态代理的结果,也叫动态增强,关于那部分的内容下篇博客会概括,预计2天后的周五吧。还有,这样类似的博客有很多

环境配置 (部分)

  • Spring xml配置文件
    <tx:annotation-driven/>

    <bean id="userService" class="com.yhj.jdbc.service.impl.UserServiceI">
        <property name="dataSource" ref="dataSource"/>
        <property name="gameService" ref="gameService"/>
    </bean>

    <bean id="gameService" class="com.yhj.jdbc.service.impl.GameServiceI"/>

    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值