1. 程式人生 > 其它 >MyBatis 原始碼解讀-XMLConfigBuilder

MyBatis 原始碼解讀-XMLConfigBuilder

XMLConfigBuilder 是抽象類BaseBuilder 的一個子類,專門用來解析全域性配置檔案,針對不同的構建目標還有其他的一些子類,比如:

XMLMapperBuilder:解析Mapper 對映器

XMLStatementBuilder:解析增刪改查標籤

根據我們解析的檔案流,這裡後面兩個引數都是空的,建立了一個parser。

這裡有兩步,第一步是呼叫parser 的parse()方法,它會返回一個Configuration類。

之前我們說過,也就是配置檔案裡面所有的資訊都會放在Configuration 裡面。Configuration 類裡面有很多的屬性,有很多是跟config 裡面的標籤直接對應的。

我們先看一下parse()方法:

首先會檢查是不是已經解析過,也就是說在應用的生命週期裡面,config 配置檔案只需要解析一次,生成的Configuration 物件也會存在應用的整個生命週期中。接下來就是parseConfiguration 方法:

parseConfiguration(parser.evalNode("/configuration"));

這下面有十幾個方法,對應著config 檔案裡面的所有一級標籤。

問題:MyBatis 全域性配置檔案的順序可以顛倒嗎?