赞
踩
Spring Boot 使用事务:首先使用注解 @EnableTransactionManagement 开启事务支持,然后在Service方法上添加注解 @Transactional 便可。在Service中,被 @Transactional 注解的方法,将支持事务。如果注解在类上,则整个类的所有方法都默认支持事务。
声明式事务是结合代理实现,不生效的情况主要包括以下几种:
1.数据库不支持事务,比如mysql的MyISAM引擎不支持事务,而InnoDB支持事务;
2.类内部访问,即并非直接访问带@Transactional注解的方法,而是通过内部普通方法来调用带事务注解的方法;
3.私有方法,即在私有方法上添加@Transactional也不会生效;
4.异常不匹配,@Transactional注解默认处理运行时异常,即只有抛出运行时异常时,才会触发事务回滚,否则并不会;
5.多线程,在标记事务的方法内部,另起子线程执行 db 操作,此时事务同样不会生效。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。