spring中A类无事务调用B类的有事务方法,A类异常回回滚吗
时间: 2024-02-28 22:56:13 浏览: 63
在Spring中,A类无事务调用B类的有事务方法,如果A类发生异常,B类的事务默认是不会回滚的。
这是因为Spring默认情况下只会对标记了`@Transactional`注解的方法进行事务管理,而如果一个没有被事务管理的方法调用了一个被事务管理的方法,那么被事务管理的方法的事务会被忽略,也就是说被调用的方法的事务不会起作用。
要想让A类异常回滚B类的事务,需要在B类的`@Transactional`注解中添加`rollbackFor`属性,指定当哪些异常发生时需要回滚事务,例如:
```java
@Transactional(rollbackFor = Exception.class)
public void bMethod() {
// B类的事务方法逻辑
}
```
这样,当A类发生任何异常时,B类的事务就会回滚。当然,如果A类也被事务管理,那么A类发生的异常也会导致B类的事务回滚。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)