分析java
MyBatis整合Spring的實現(1)中代碼實現的4.1能夠知道,XMLConfigBuilder類讀取MyBatis的全局配置文件信息,下面就來分析XMLConfigBuilder的實例化。mybatis
1 屬性app
1.1 XMLConfigBuilder自身屬性:ui
/** 是否已解析,true:是,false:否 */ private boolean parsed; /** 解析XML文檔轉換成DOM對象 */ private XPathParser parser; /** */ private String environment;
1.2 父類BaseBuilder屬性:spa
/** mybatis中全局配置類 */ protected final Configuration configuration; /** mybatis別名處理器 */ protected final TypeAliasRegistry typeAliasRegistry; /** mybatis類型處理器 */ protected final TypeHandlerRegistry typeHandlerRegistry;
1.3 父類構造器:.net
BaseBuilder類的構造器能夠看出,別名處理器與類型處理器都是經過Configuration(全局配置類)獲取的。這裏先不進行深究。
code
2 構造器orm
XMLConfigBuilder實例化的構造器爲:對象
這裏構造器的入參有3個。blog
2.1 第一個是MyBatis經過輸入流(InputStream)及默認DTD文件解析類(XMLMapperEntityResolver)建立的默認XPathParser。
2.2 第二個爲NULL(根據前一章節)。
2.3 第三個Spring注入的屬性。構造器裏默認建立了Configuration(全局配置類),Spring注入的屬性set到Configuration(全局配置類)。
總結:
這裏只是分析XMLConfigBuilder的實例化及屬性,此類具體實現的功能不少,可看下面的圖片,這裏只要知道就行,具體功能還的進一步分析。