注解:@Transactional
作用:将当前方法交给spring进行事务管理,方法执行前,开启事务;成功执行完毕,提交事务;出现异常,回滚事务
位置:业务(service)层的方法上、类上、接口上 (只是在需要事务管理的方法上类上接口上 不是所有)
rollbackFor属性用于控制出现何种异常类型,回滚事务。(默认情况下,只有出现RuntimeException才会回滚) 如:
@Service
public class UserService {@Transactionalpublic void transferMoney(String fromAccount, String toAccount, BigDecimal amount) {// 先查你的账户是否正常// 再查你父母的账户是否正常// 你的账户扣1000// 父母账户加1000}
}