spring 事务管理(二)基于注解方式

项目信息参考 spring 事务管理(一)基于AspectJ的xml方式

和第一种方式唯一不同是使用注解

1.在启动类添加@EnableTransactionManagement注解,代表启用事务管理


@SpringBootApplication
@MapperScan("com.zh.springtransaction.mapper")
@EnableTransactionManagement
//@ImportResource(locations={"classpath:application-transaction.xml"})
public class SpringtransactionApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringtransactionApplication.class, args);
    }

}

2.在需要事务的server层添加@Transactional注解,也可以在方法上面添加@Transactional。

@Service
@Transactional(rollbackFor = java.io.IOException.class)
public class AccountServiceImpl implements IAccountService {
    @Autowired
    AccountMapper accountMapper;
    @Override
    public void transfer(String out, String in, double money) {
        accountMapper.outMoney(out,money);
        int i=1/0;
        accountMapper.inMoney(in,money);
    }
}

 

你可能感兴趣的:(spring,boot)