项目信息参考 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);
}
}