手写自己的MyBatis框架-支持插件
生活随笔
收集整理的這篇文章主要介紹了
手写自己的MyBatis框架-支持插件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
定義了一個@Intercepts 注解,目前還只能攔截Executor 的方法,所以屬性只要配置方法名稱。
定義Interceptor 接口,是所有自定義插件必須實現的接口。
定義InterceptorChain 容器,用來存放解析過的攔截器。在Configuration 中創建Executor 的時候,會調用它的pluginAll()方法,對Executor 循環代理。
定義Invocation 包裝類,用于在執行完自定義插件邏輯后調用Executor 的原方法。
定義Plugin 代理類,提供了一個wrap()方法用于產生代理對象。當Executor 被代理后,所有的方法都會走到invoke()方法中,進一步調用自定義插件的intercept()方法。
?
總結
以上是生活随笔為你收集整理的手写自己的MyBatis框架-支持插件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手写自己的MyBatis框架-支持查询缓
- 下一篇: 手写自己的MyBatis框架-V2.0