1、1. @transactional注解写入位置
1.1 @transactional放在service层的实现类上最好。

2、2. 方法异常抛出
2.1 每一个方法都必须做到添加try-catch块并throw RuntimeException。
提醒:try-catch块中的异常为Exception,这个是为了捕获除RuntimeException以外的异常。

3、3. 事务无法回滚解决方法
3.1 错误写法展示
提示:事务无法回滚经常是因为内部类有一些已有的方法没有显示抛出异常不符合spring的事务注解机制导致。
1. 必须try-catch(throw new RuntimeException(e.getMessage()));
2. 方法必须写上throws RuntimeException
