Spring5——Spring事务传播特性 @Transacti

2021-04-13  本文已影响0人  小波同学

事物注解方式:@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(timeout=30) //默认是30秒

事务隔离级别:

@Transactional注解中常用参数说明

注意的几点:

@Transactional(rollbackFor=Exception.class) //指定回滚,遇到异常Exception时回滚
public void methodName() {
   throw new Exception("注释");
}
@Transactional(noRollbackFor=Exception.class)//指定不回滚,遇到运行期例外(throw new RuntimeException("注释");)会回滚
public ItimDaoImpl getItemDaoImpl() {
   throw new RuntimeException("注释");
}

参考:
https://blog.csdn.net/GA_007/article/details/103874826

上一篇下一篇

猜你喜欢

热点阅读