Mybatis插件的执行流程及其原理源码分析

1.注册interceptor,会在初始化的时候实例化

2.sqlSession中4大对象在实例化的时候会调用pluginAll方法,该方法中会用interceptot创建代理

3.具体的,首先调用interceptor的plugin方法,该方法一般会使用Plugin类的wrap方法,Plugin类实现了invocationHandler,wrap中完成了代理创建

4.Plugin的invoke方法会调用intercptor的intercept方法,植入自己的逻辑,完成插件

5.执行完成以后,调用proceed方法,回归到原来的方法调用中

你可能感兴趣的:(Mybatis插件的执行流程及其原理源码分析)