### 手动完成事务管理
```
通过手动编写代码的方式完成事务的管理(不推荐)
```
### TransactionTemplate
```
为了简化事务管理的代码:提供了模板类 TransactionTemplate
```
### 手动完成事务管理的步骤
```
1. 配置事务管理器,Spring使用PlatformTransactionManager接口来管理事务,所以咱们需要使用到他的实现类
```
```
2. 配置事务管理的模板
```
```
3. 在需要进行事务管理的类中,注入事务管理的模板
```
```
4. 在业务层使用模板管理事务
// 注入事务模板对象
private TransactionTemplate transactionTemplate;
public void setTransactionTemplate(TransactionTemplate transactionTemplate) {
this.transactionTemplate = transactionTemplate;
}
public void pay(final String out, final String in, final double money) {
transactionTemplate.execute(new TransactionCallbackWithoutResult() {
protected void doInTransactionWithoutResult(TransactionStatus status) {
// 扣钱
accountDao.outMoney(out, money);
int a = 10/0;
// 加钱
accountDao.inMoney(in, money);
}
});
}
```