分析
中代码实现的4.1可以知道,XMLConfigBuilder类读取MyBatis的全局配置文件信息,下面就来分析XMLConfigBuilder的实例化。
1 属性
1.1 XMLConfigBuilder自身属性:
/** 是否已解析,true:是,false:否 */private boolean parsed;/** 解析XML文档转换成DOM对象 */private XPathParser parser;/** */private String environment;
1.2 父类BaseBuilder属性:
/** mybatis中全局配置类 */protected final Configuration configuration;/** mybatis别名处理器 */protected final TypeAliasRegistry typeAliasRegistry;/** mybatis类型处理器 */protected final TypeHandlerRegistry typeHandlerRegistry;
1.3 父类构造器:
BaseBuilder类的构造器可以看出,别名处理器与类型处理器都是通过Configuration(全局配置类)获取的。这里先不进行深究。
2 构造器
XMLConfigBuilder实例化的构造器为:
这里构造器的入参有3个。
2.1 第一个是MyBatis通过输入流(InputStream)及默认DTD文件解析类(XMLMapperEntityResolver)创建的默认XPathParser。
2.2 第二个为NULL(根据前一章节)。
2.3 第三个Spring注入的属性。构造器里默认创建了Configuration(全局配置类),Spring注入的属性set到Configuration(全局配置类)。
总结:
这里只是分析XMLConfigBuilder的实例化及属性,此类具体实现的功能很多,可看下面的图片,这里只要知道就行,具体功能还的进一步分析。