發現問題
1.首先在jdk的bin目錄下 找到 " jvisualvm.exe" 工具,並且打開
2.調用方法發現我們的dao層並未創建實例?實例數爲"0"?爲什麼呢?(引入自己的猜想:mybaits底層是通過動態代理爲我們的dao層創建動態代理類,然後執行相應的方法,那我們就可以在MapperProxy類可以找到該代理類)這就要跟我們的mybaits底層相關聯了!!,下面會詳細寫的
3.執行我們的猜想:依然在我們的工具中找到"MapperProxy"類(該類是mybaits源碼裏面的類,下面會分析的),在這裏面我們找到了mybaits爲我們的該dao(也就是TianfuCtizenCloudDao)創建的動態代理類,我們的mytais就根據這個代理類去執行方法,這也是我們爲什麼mybaits只用創建dao就能執行具體的方法的原因!動態代理
這下就很一目瞭然了!
看到這裏,我們就要明白什麼是動態代理,和mybaits底層到底是怎麼實現的????
動態代理:
mybaits:
未完待續。。。。