目录
事务特性
脏读
不可重复读
幻读
事务传播特性
Spring事务架构
事务特性
事务是指逻辑上的一组操作,这组操作要么全部成功,要么全部失败;
事务的特性:
1:原子性
是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生;
2:一致性
是指事务前后,数据的完整性必须保持一致;
3:隔离性
是指多个用户并发操作数据时,一个用户的事务不能被另一个用户的事务干扰,多个并发事务之间数据要相互隔离;
4:持久性
是指数据一旦被提交,它对数据库中数据的改变是永久性的,即使数据库发生了故障,也不应该对其有任何影响;
并发事务下存在的几个安全性问题
脏读
一个事务读取了另外一个事务修改但是还未提交的数据,如果这些数据被回滚,那么读取到的数据是无效的;
不可重复读
同一事务中,多次读取同一数据,返回的结果不同
幻读
一个事务读取了几行记录后,另一个事务插入了一些数据,那么幻读就发生了;
事务的隔离级别
事务传播特性
在类TransactionDefinition中定义;
Spring事务常用的类和接口
Spring中使用事务的套路
容器中注册事务相关组件
createBean时生成代理对象,并注册到容器
调用代理Bean的相关方法时
主要是Spring AOP起作用;
越努力,越幸运,欢迎关注我的个人技术公众号