分析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的实例化及属性,此类具体实现的功能不少,可看下面的图片,这里只要知道就行,具体功能还的进一步分析。