13.用代理的方式改进Account例子

参考的学习视频→https://b23.tv/av47952931/p82

之前在Account例子中,为了让将所有操作都成为一个事务,我们在AccountServiceImpl每个方法都加入了以下代码

 

这样相同的代码就需要在每个方法中写一遍,非常繁琐

于是我们新建一个代理工场BeanFactory,将事务管理器txManager挪到这里,并设置accountService和txManager的set方法以便于Spring自动注入

 

然后在BeanFactory中写一个getAccountService方法获取service代理对象

 

所以在配置xml时,因为service中的事务管理器挪到了代理对象中,所以这里可以删去,然后只需要配置代理的service和BeanFactory即可,代理的service是通过BeanFactory的getAccountService方法获得的

 

这时候AccountServiceImpl中的方法就变得很简洁啦

 

这个时候由于我们配置了两个service,所以在测试方法自动注入时需要指定id,运行这个测试方法,和之前的效果完全相同,但是代码是不是简洁了许多呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值