接着上一篇继续
下面追进 new MapperProxyFactory
实际上,就是给这个属性赋值,再回到前面
这里的 knowMappers是个 hashMap
追进下一行代码
MapperAnnotationBuilder parser = new MapperAnnotationBuilder(config, type);
这里的 config 在之前赋值了,不做解释
这里的话,直接打个断点 ,看一下resource 是什么
此时resource 为 commapper/AdminMapper.java (best guess)
追进
new MapperBuilderAssistant(configuration, resource);
箭头的代码只是做了个全局配置更新操作,追进下一行代码
从 ThreadLocal 获取里面存放的属性,为空new 对象 赋值,并且放在当前 ThreadLocal中
返回 该对象,
ErrorContext.instance() 返回了一个context对象,下面追进resource()
可以发现 也只是个赋值操作 ,方法都走完 回到下图
parse() 不追了。。这里面讲清楚得开两篇文章?只需要知道这块主要是处理dao层的@Select
@update 等语句
代码执行完 就回到了最初的起点
至此,SqlSessionFactory 构建完毕
暑期编程PK赛 得CSDN机械键盘等精美礼品!



