關於mybaits的動態代理

發現問題

1.首先在jdk的bin目錄下 找到 " jvisualvm.exe" 工具,並且打開

2.調用方法發現我們的dao層並未創建實例?實例數爲"0"?爲什麼呢?(引入自己的猜想:mybaits底層是通過動態代理爲我們的dao層創建動態代理類,然後執行相應的方法,那我們就可以在MapperProxy類可以找到該代理類)這就要跟我們的mybaits底層相關聯了!!,下面會詳細寫的

3.執行我們的猜想:依然在我們的工具中找到"MapperProxy"類(該類是mybaits源碼裏面的類,下面會分析的),在這裏面我們找到了mybaits爲我們的該dao(也就是TianfuCtizenCloudDao)創建的動態代理類,我們的mytais就根據這個代理類去執行方法,這也是我們爲什麼mybaits只用創建dao就能執行具體的方法的原因!動態代理

這下就很一目瞭然了!

看到這裏,我們就要明白什麼是動態代理,和mybaits底層到底是怎麼實現的????

動態代理:

mybaits:

 

 

未完待續。。。。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章