Spring事务
2017-07-08 10:50:26 223 举报
AI智能生成
Spring事务是Spring框架中用于管理数据库操作的模块。它提供了一种将多个数据库操作封装成一个事务的方式,确保这些操作要么全部成功,要么全部失败。Spring事务通过AOP(面向切面编程)来实现,可以与Spring其他模块无缝集成。在Spring事务中,可以通过配置来指定事务的传播行为、隔离级别、超时时间等属性。此外,Spring事务还支持多种事务管理器,如JDBC、Hibernate、JPA等,可以根据实际需求选择合适的事务管理器。总之,Spring事务为开发者提供了一种简单、高效、可靠的数据库操作管理方式。
作者其他创作
大纲/内容
编程式事务
直接使用PlatformTransactionManager来进行编程式事务管理
使用框架底层API(JJDBC,Session)来进行事务控制
直接使用TransactionTemplate来进行编程式事务管理
创建基于SavePoint的嵌套事务
常见问题
事务不生效
Bean是否是代理对象
入口函数是否是public的
数据库是否支持事务(Mysql的MyIsam不支持事务)
切点是否配置正确
如果使用了SpringMVC,SpringMVC容器有没有重复扫描
业务代码是否吞掉异常
基本概念
事务的目的
数据资源所承载的系统状态始终处于'正确'的状态
事务特性(ACID)
原子性(Atomicity)
一致性(Consistency)
<font color="#f15a23"><b>隔离性(Isolation)</b></font><br>
4种隔离级别
Read Uncommitted(读取未提交内容)
Read Committed(读取提交内容)
Repeatable Read(可重读)
Serializable(可串行化)
几个问题
脏读
不可重复读
幻读
持久性(Durability)
事务的7种传播行为
PROPAGATION_REQUIRED
PROPAGATION_SUPPORTS
PROPAGATION_MANDATORY
PROPAGATION_REQUIRES_NEW
PROPAGATION_NOT_SUPPORTED
PROPAGATION_NEVER
PROPAGATION_NESTED
声明式事务
配置方式
注解元数据驱动的声明式事务(@Transactional)
XML元数据驱动的声明式事务
基于TransactionProxyFactoryBean的配置
基于<tx/>命名空间的配置
基于BeanNameAutoProxyCreator的配置
实现原理
AOP
PlatformTransactionManager
推荐的博文
实战Spring事务传播性与隔离性 https://mp.weixin.qq.com/s/7O_PrtlV87BhEhdaf77UeQ
0 条评论
下一页