发现问题
1.首先在jdk的bin目录下 找到 " jvisualvm.exe" 工具,并且打开
2.调用方法发现我们的dao层并未创建实例?实例数为"0"?为什么呢?(引入自己的猜想:mybaits底层是通过动态代理为我们的dao层创建动态代理类,然后执行相应的方法,那我们就可以在MapperProxy类可以找到该代理类)这就要跟我们的mybaits底层相关联了!!,下面会详细写的
3.执行我们的猜想:依然在我们的工具中找到"MapperProxy"类(该类是mybaits源码里面的类,下面会分析的),在这里面我们找到了mybaits为我们的该dao(也就是TianfuCtizenCloudDao)创建的动态代理类,我们的mytais就根据这个代理类去执行方法,这也是我们为什么mybaits只用创建dao就能执行具体的方法的原因!动态代理
这下就很一目了然了!
看到这里,我们就要明白什么是动态代理,和mybaits底层到底是怎么实现的????
动态代理:
mybaits:
未完待续。。。。