由转账添加事物,使得我们的操作变的非常麻烦。重复代码产生了很多
实际的开发中如果想记录日志每个方法都要执行
如果判断用户是否登陆也是每个方法都需要判断
这些重复的代码我们都需要去解决。
解决的方式,以前是重复代码抽取。抽取出来之后就调用。抽取并不是终点,只是第一步。
接下来就需要把重复的代码在方法执行时加进去。那么怎么加进去呢?这就是之前讲到的技术,动态代码是不该原有方法的基础上,对方法进行 增强。
sprinfg中的AOP:
创建代理对象都是固定的,唯一不固定的就是增强的部分
那么怎么增强、什么时候增强,就是你的前置也好 后置也好、异常也好、最终也好、他的各种通知类型。只要把这些都说明白了剩下的事情Spring都能给我们实现
布置作业
这里是通过代理类的方式。把factory都删掉。加入springaop来实现事务的控制