目前来说,Spring是java程序猿必会的技能。而数据库事务是保证数据一致性的关键,那么Spring是怎么管理数据库事务的呢?@Transactional注解是在java+Spring+db项目中常见的。当使用@Transactional注解时你是否思考过,ClassA.methodA被@Transactional注解修饰,ClassB.methodB被@Transactional注解修饰,当在ClassA.methodA方法中调用ClassB.methodB时,Spring会创建几个事务,是一个还是两个呢?
Spring事务传播机制就是解决这个问题的,Spring提供了7个传播属性。默认的传播属性是REQUIRED,也是最常用的。下面介绍下Spring的7个传播属性:
当没有外部事务时
当有外部事务时