事务03-事务案例-转账:手动管理事务[使用Spring 的TransactionTemplate的实现](Spring 笔记013)

手动管理事务(使用Spring 的TransactionTemplate事务模板)

1.Service需要获得TransactionTemplate
2.Spring配置模板,并注入给Service
3.模板需要注入事务管理器
4.配置事务管理器

修改AccountServiceImpl的transfer方法

//需要spring注入模板
private TransactionTemplate transactionTemplate;
public void setTransactionTemplate( TransactionTemplate transactionTemplate)
{this.transactionTemplate=transactionTemplate;}

public void transfer(final String outer,final String inner,final Intrger money){
transactionTemplate.execute(new TransactionCallbackwithoutResult(){
     protected void doInTransactionWithoutResult(TransactionStatus arg0){
    accountDao.out(outer,money);
    int i=1/0;//断电
    accountDao.in(inner,money);
     }
     }
);//executex新的函数
}

.xml的配置

①DataSource的配置<bean><proprrty></proprrty></bean>
②继承了JdbcDaoSupport的Dao的数据注入方法
<bean id="accountDao" class="~~.AccountDaoImpl"><proprrty name="dataSource" ref="dataSource"></proprrty></bean>
③之前修改的Service(事务处理类)
<bean id="accountService" class="~~.AccountServiceImpl">
<proprrty name="accountDao" ref="accountDao"></proprrty>
<proprrty name="transactionTemplate" ref="transactionTemplate"></proprrty>
</bean><bean id="transactionTemplate" class="~~.transactionTemplate">
<proprrty name="transactionManager" ref="txManager"></proprrty>
</bean><bean id="txManager" class="~~.DataSourceTransactionManager">
<proprrty name="dataSource" ref="dataSource"></proprrty>
</bean>

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值