Java互联网架构-spring源码AOP分析

2021年04月26日 10:04

427

:事物概念解析

1.1)什么是事物?

事务是逻辑上的一组执行单元,要么都执行,要么都不执行。

1.2)事物的特性(ACID)

image.png


什么是ACID

ACID是指数据库管理系统DBMS中事物所具有四个特性

eg:在数据库系统中,一个事务由一系列的数据库操作组成一个完整的逻辑过程,比如银行转账,从原账户扣除金额,目标账户增加金额。

①:atomicity【原子性】

原子性表现为操作不能被分割,那么这二个操作 要么同时完成,要么就全部不完成,若事务出错了,那么事务就会回滚,好像什么  没有发生过。

②:Consistency【一致性】

一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务开始前是一个一致状态,

事务结束后是另一个一致状态,事务将数据库从一个一致状态转移到另一个一致状态。

③:Isolation【隔离性】

所谓的独立性就是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个

事务修改,只要另外一个事务还未提交,它所访问的数据就不受未提交事务的影响。换句话说,一个事务的影响在该事务提交前对其它事务是不可见的。

④:Durability【持久性】

若事务已经提交了,那么就回在数据库中永久的保存下来。

:Spring事务三大接口介绍

2.1PlatformTransactionManager: (平台)事务管理器

2.2TransactionDefinition: 事务定义信息(事务隔离级别、传播行为、超时、只读、回滚规则

2.3TransactionStatus: 事务运行状态

1PlatformTransactionManager接口介绍

Spring并不直接管理事务,而是提供了多种事务管理器,他们将事务管理的职责委托给Hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现。Spring事务管理器的接口是:

org.springframework.transaction.PlatformTransactionManager通过这个接口,Spring为各个平台如JDBCHibernate等都提供了对应的事务管理器,但是具体的实现就是各个平台自己的事情了。

image.png

2TransactionDefinition 事物属性的定义

org.springframework.transaction.TransactionDefinitionTransactionDefinition接口中定义了5个方法以及一些表示事务属性的常量比如隔离级别、传播行为等等的常量。我下面只是列出了TransactionDefinition接口中的方法而没有给出接口中定义的常量,该接口中的常量信息会在后面依次介绍到。

image.png

image.png

大家想要知道2021年JAVA学习更多相关知识,可以关注微信号“kexiaomei2021”,获取更多备考资料!课小美与你并肩作战! 

65ac676d3c0412cf3f882a5a6dfd4cf.jpg