MyBatis整合Spring的实现(2)

本文分析了MyBatis整合Spring过程中XMLConfigBuilder类的作用及其实例化过程。XMLConfigBuilder负责读取MyBatis全局配置文件,并解析XML文档转换成DOM对象。

分析

MyBatis整合Spring的实现(1)代码实现的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 父类构造器:

101723_ovzm_1269959.jpg

BaseBuilder类的构造器可以看出,别名处理器与类型处理器都是通过Configuration(全局配置类)获取的。这里先不进行深究。

2 构造器

XMLConfigBuilder实例化的构造器为:

095443_zrWA_1269959.jpg

这里构造器的入参有3个。

2.1 第一个是MyBatis通过输入流(InputStream)及默认DTD文件解析类(XMLMapperEntityResolver)创建的默认XPathParser。

2.2 第二个为NULL(根据前一章节)。

2.3 第三个Spring注入的属性。构造器里默认创建了Configuration(全局配置类),Spring注入的属性set到Configuration(全局配置类)

总结:

这里只是分析XMLConfigBuilder的实例化及属性,此类具体实现的功能很多,可看下面的图片,这里只要知道就行,具体功能还的进一步分析。

103355_hvi4_1269959.jpg

转载于:https://my.oschina.net/u/1269959/blog/521703

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值