Spring5中,如何详细理解@Transactional注解的事务传播特性?

2026-05-21 02:262阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1875个文字,预计阅读时间需要8分钟。

Spring5中,如何详细理解@Transactional注解的事务传播特性?

物品注释方式:使用`@Transactional`注解于类前,表示该类中所有方法都进行事务处理。例如:`@Transactional`public class TestServiceBean implements TestService `{}` 当类中某些方法不需要事务时:`@Transactiona`

事物注解方式:@Transactional

当标于类前时,标示类中所有方法都进行事物处理,例子:

@Transactional public class TestServiceBean implements TestService {}

当类中某些方法不需要事物时:

@Transactional public class TestServiceBean implements TestService { private TestDao dao; public void setDao(TestDao dao) { this.dao = dao; } @Transactional(propagation =Propagation.NOT_SUPPORTED) public List getAll() { return null; } }

事物传播行为介绍:

  • @Transactional(propagation=Propagation.REQUIRED):如果有事务,那么加入事务,没有的话新建一个(默认情况下)。

  • @Transactional(propagation=Propagation.NOT_SUPPORTED):容器不为这个方法开启事务。

阅读全文

本文共计1875个文字,预计阅读时间需要8分钟。

Spring5中,如何详细理解@Transactional注解的事务传播特性?

物品注释方式:使用`@Transactional`注解于类前,表示该类中所有方法都进行事务处理。例如:`@Transactional`public class TestServiceBean implements TestService `{}` 当类中某些方法不需要事务时:`@Transactiona`

事物注解方式:@Transactional

当标于类前时,标示类中所有方法都进行事物处理,例子:

@Transactional public class TestServiceBean implements TestService {}

当类中某些方法不需要事物时:

@Transactional public class TestServiceBean implements TestService { private TestDao dao; public void setDao(TestDao dao) { this.dao = dao; } @Transactional(propagation =Propagation.NOT_SUPPORTED) public List getAll() { return null; } }

事物传播行为介绍:

  • @Transactional(propagation=Propagation.REQUIRED):如果有事务,那么加入事务,没有的话新建一个(默认情况下)。

  • @Transactional(propagation=Propagation.NOT_SUPPORTED):容器不为这个方法开启事务。

阅读全文