开发喵星球

Spring中@Transactional(rollbackFor = Exception.class)注解了解吗?

是的,@Transactional注解是Spring框架中用于声明事务行为的注解之一。通过在方法或类上使用@Transactional注解,开发者可以告诉Spring框架将相应的方法或类包装在事务中。

import org.springframework.transaction.annotation.Transactional;

@Service
public class MyService {

    @Transactional(rollbackFor = Exception.class)
    public void myTransactionalMethod() {
        // 业务逻辑
    }
}

在上述例子中,@Transactional(rollbackFor = Exception.class)注解应用在myTransactionalMethod方法上,表示该方法应该在一个事务中运行,并且在遇到Exception或其子类抛出时进行回滚。

关于rollbackFor属性的解释:

使用rollbackFor的示例:

import org.springframework.transaction.annotation.Transactional;

@Service
public class MyService {

    @Transactional(rollbackFor = { CustomException1.class, CustomException2.class })
    public void myTransactionalMethod() throws CustomException1, CustomException2 {
        // 业务逻辑,可能抛出 CustomException1 或 CustomException2
    }
}

在这个示例中,如果myTransactionalMethod方法中抛出了CustomException1CustomException2,事务将会回滚。

Proudly powered by WordPress