采用mybatis-plus并且在controller方法上加@Transactional,一共经过了多少层动态代理

由于controller类存在有被事务注解的方法,它要被spring创建CglibAopProxy,被@Transactional注解的方法要通过CglibMethodInvocation执行。

mybatis-plus为了实现公共方法在service、mapper、xml中免创建,在定义时通过继承和泛型实现,在执行时通过为serviceImpl、mapper都创建了动态代理。

原文地址:https://www.cnblogs.com/StarkBrothers/p/13053992.html