-
事务管理器 PlatformTransactionManager
查看全部 -
Spring事务管理器高层抽象主要包括3个接口
查看全部 -
事务的特性——持久性查看全部
-
事务的特性——隔离性查看全部
-
事务的特性——一致性查看全部
-
事务的特性——原子性查看全部
-
事务的特性查看全部
-
什么是事务?
查看全部 -
AspectJ的XML方式
基于注解方式
查看全部 -
使用spring提供的 tx 和 aop 命名空间通过配置aop的方式来实现事务管理,
关注点在于和普通aop配置的区别,普通aop配置通常是使用<aop : aspect>元素来定义切面,一个切面可以有任意个通知,同时需要配置切点和连接点。配置事务管理使用 <tx : advice> 来单独定义了事务管理的通知,因为是单个的通知,所以使用<aop : advisor>元素就可以进行引用,同时事务管理是在目标方法前后添加操作且前后操作相关联,所以使用的应该是环绕通知,由于这是固定的,推测spring默认就会应用,所以配置中可以不用配置连接点
查看全部 -
使用TransactionProxyFactoryBean类本质上就是为每一个需要添加事务的类手动的创建一个对应的代理类,最后使用代理类来执行操作,这种方式是静态的,并不是像使用AOP那样能动态的为目标方法生成代理类,所以应用范围很有限,了解即可
查看全部 -
Spring支持的两种事务管理方式:
编程式的事务管理,使用TransactionTemplate来通过编写代码的方式控制事务,应用很少;
声明式的事务管理,通过Spring的AOP功能,使用XML配置或注解的形式来达到事务管理的目的,不对业务代码产生侵入,普遍使用;
查看全部 -
事务的传播行为要解决的问题:
业务层中添加了事务的的多个方法被一起调用时如何处理各方法间事务的关系的问题,具体来说是事务如何传递的问题。
假如业务层中有事务方法A和B,另外有一个方法C在其方法体中依次调用了A和B,由于A和B都有各自的事务,此时B的传播行为就决定了其如何处理和A已有的事务之间的关系;
七种传播行为分为三类:
支持当前事务,即事务存在则加入当前事务,如果事务不存在分别有新建一个事务,不使用事务,抛出异常三种行为;
不支持当前事务,即独立运行事务,如果事务存在分别有新建一个事务,不使用事务,抛出异常三种行为;
如果当前事务存在,则将自身的事务作为当前事务的子事务运行,在运行子事务时,当前事务记录一个保存点,子事务不报错则和当前事务一起提交或回滚,子事务报错则根据自定义配置让当前事务回滚到保存点或起始点;
查看全部 -
spring事务管理的核心接口,
PlatformTransactionManager的实现类真正执行事务管理;
TransactionDefinition的实现类保存了对事务管理的配置信息,该类的实例被Manager读取用来创建执行事务管理的对象;
TransactionStatus的实现类保存了事务运行中的状态;
查看全部 -
xml方式配置声明式事务
查看全部
举报