XMLConfigBuilder 是抽象类BaseBuilder 的一个子类,专门用来解析全局配置文件,针对不同的构建目标还有其他的一些子类,比如:
XMLMapperBuilder:解析Mapper 映射器
XMLStatementBuilder:解析增删改查标签
根据我们解析的文件流,这里后面两个参数都是空的,创建了一个parser。
这里有两步,第一步是调用parser 的parse()方法,它会返回一个Configuration类。
之前我们说过,也就是配置文件里面所有的信息都会放在Configuration 里面。Configuration 类里面有很多的属性,有很多是跟config 里面的标签直接对应的。
我们先看一下parse()方法:
首先会检查是不是已经解析过,也就是说在应用的生命周期里面,config 配置文件只需要解析一次,生成的Configuration 对象也会存在应用的整个生命周期中。接下来就是parseConfiguration 方法:
parseConfiguration(parser.evalNode("/configuration"));
这下面有十几个方法,对应着config 文件里面的所有一级标签。
问题:MyBatis 全局配置文件的顺序可以颠倒吗?