在之前两篇文章中,我们都有介绍这个configuration对象,他是我们Mybatis的核心配置对象,这个对象是创建SqlSessionFactory的时候被创建的.
之前有说SqlSessionFactory创建的时候是通过SqlSessionFactoryBuilder的build方法
通过XMLConfigBuilder这个对象进行xml解析.
从上边可以看出来,在解析之前他会进行一个判断,这个东西mybatis的一个保护机制,为了保证多线程情况下防止一个xml文件被解析两次,只有parsed为false的时候才能解析,保证线程安全,然后就从xml中的configuration标签进行解析,下边具体就可以看到的是咱们经常进行的一些配置类标签,在这些对象不断的解析中,一直不断的给configuration对象中进行注入.最终返回这个对象.
在configuration对象中我们还有是用一个设计模式,
在上图中我们看到configuration对象因为他包含了我们mybatis中所有的设置,所以他的参数特别的多,mybatis在这里是用了装配模式,在参数特别多的时候我们可以默认参数属性以及值,是我们软件开发中一种常见的赋值方式.