答:Spring事物注解是基于Spring Aop实现的,而Spring Aop是基于JDK动态代理实现的。
JdkDynamicAopProxy.java是整个Spring Aop编程的入口。
动态代理有两种实现机制: 1)JDK动态代理实现机制 2)CGLib动态代理实现机制
两种动态代理机制最大区别:JDK动态代理需要指定接口,CGLib实现动态代理时是不需要指定接口,而且CGLib的API比较好用。