关于Spring中事务注解的注意事项

一. 开发环境

SpringMVC+Spring+Mybatis

二.注意点

1.事务注解只在Service层生效

2.在被事务注解的Service类中,尽量不要使用Try...Catch 语句,如要使用必须在catch抛出自定义异常runtimeException

三.解释

1.为什么事务注解只在Service层生效

原因:因为Spring中事务中,事务的管理类bean是在Service类中的bean注入的。这个具体可以查看Spring事务注解的演变过程

2.为什么在被注解的Service类中,不要使用Try...Catch语句,否则会失效

原因:因为事务机制是在类出现了未检出性异常时才生效(runtimeException/error).,如果使用了try  Catch.检测不到异常,那么事务将无法生效。

解决办法:个人觉得抛出个runtimeException并在异常中说明具体原因就可以。这样既让事务管理生效,而且上层也可以了解到具体的异常情况

四.参考文章

https://blog.csdn.net/zhaolang2009/article/details/78775225

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值