Spring事务
2017-07-08 10:50:26 222 举报
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)
隔离性(Isolation)
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 条评论
下一页