spring事务管理基于aop
事务管理类DataSourceTransactionManager本质就是一个切面类Aspect
切点就是service层里的方法。
当service里的事务发生异常没有完全执行时,DataSourceTransactionManager的异常增强对事务进行了回滚rollback。
当事务完全执行完毕,DataSourceTransactionManager的后置增强对事物进行了提交commit
aop是基于JDK动态代理实现的。
增强在代理对象触发的invoke()方法里
invoke()—>JDK代理对象—>aop—>事务