MyBatis 插件原理与自定义插件-猜想
生活随笔
收集整理的這篇文章主要介紹了
MyBatis 插件原理与自定义插件-猜想
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MyBatis 的插件可以在不修改原來的代碼的情況下,通過攔截的方式,改變四大核心對象的行為,比如處理參數,處理SQL,處理結果。
第一個問題:
不修改對象的代碼,怎么對對象的行為進行修改,比如說在原來的方法前面做一點事情,在原來的方法后面做一點事情?
答案:大家很容易能想到用代理模式,這個也確實是MyBatis 插件的原理。
第二個問題:
我們可以定義很多的插件,那么這種所有的插件會形成一個鏈路,比如我們提交一個休假申請,先是項目經理審批,然后是部門經理審批,再是HR 審批,再到總經理審批,怎么實現層層的攔截?
答案:插件是層層攔截的,我們又需要用到另一種設計模式——責任鏈模式。
?
總結
以上是生活随笔為你收集整理的MyBatis 插件原理与自定义插件-猜想的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis 插件原理与自定义插件
- 下一篇: MyBatis 插件原理与自定义插件-用