文档章节

MyBatis整合Spring的实现(2)

tara_qri
 tara_qri
发布于 2015/10/25 10:42
字数 348
阅读 109
收藏 2

分析

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 父类构造器:


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

2 构造器

XMLConfigBuilder实例化的构造器为:

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

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

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

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

总结:

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

© 著作权归作者所有

tara_qri
粉丝 10
博文 48
码字总数 21496
作品 1
海淀
私信 提问
Spring与MyBatis整合

序言 在MyBatis学习中,我们会发现很多重复性的代码,例如: //创建连接 private SqlSessionFactory sqlSessionFactory = SessionFactoryUtils .getSessionfactory().getSqlSessionFactory(......

开源俱乐部
2014/07/09
458
0
SpringMVC,mybatis,spring整合

需求:使用SpringMVC和mybatis完成商品列表查询 一 整合思路 1 相关jar包(maven) 2 整合dao层 mybatis和springmvc整合,通过spring管理mapper接口 使用mapper的扫描器自动扫描mapper接口在...

Bbigbug
2018/04/25
0
0
spring中的mybatis(1)

开门见山 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="mapperLocations" value="cl......

hyssop
2015/10/29
113
0
Spring Boot 整合 MyBatis

最近项目原因可能会继续开始使用MyBatis,已经习惯于spring-data的风格,再回头看xml的映射配置总觉得不是特别舒服,接口定义与映射离散在不同文件中,使得阅读起来并不是特别方便。 Spring...

中关村的老男孩
06/24
80
0
ZHENFENGSHISAN/perfect-ssm

Quick Start 项目简介 ssm系列 ssm-demo:Spring+SpringMVC+Mybatis+easyUI整合 perfect-ssm:RESTful API+redis缓存 ssm-cluster:前后端分离+集群部署 ssm-dubbo:dubbo服务化 ssm-micro-se......

ZHENFENGSHISAN
2017/09/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JS--function

一、声明提前(hoist) 在js程序开始执行前,引擎会查找所有var声明的变量和function声明的函数,集中到当前作用域顶部集中创建,赋值留在原地 二、三种创建函数的方式 1、声明方式创建函数-...

wytao1995
今天
4
0
微服务之间调用控制器注解类型的差异

今天在一个业务服务通过Feign调用文件服务上传文件时遇到了几个问题: 1. 提示http请求头过大的问题; 此时需要修改bootstrap.yml,加入 server: max-http-header-size: 10000000 用以放大...

不再熬夜
今天
6
0
用 4G 工作是什么体验

七月开始,因为工作原因,在公司附近租了个住处,方便工作。离公司近了,感觉就是不一样,之前每天 5:30 就要起床赶地铁,现在可以睡到自然醒,一看才 7 点,悠闲的起床洗漱,踱步到公司,都...

zzxworld
今天
6
0
sonar报错volatile

问题发生 原先代码如下: //认证授权码private static volatile String AUTHORIZATION_CODE = "init"; git push 之后,sonar认为这是个bug检测报告截图如下: 分析排查 解释说明: Markin...

开源小菜鸟2333
今天
5
0
《Java实践指南》--读后

闲读《Java实践指南》... 1.lvy 某些项目中能够看到ivy.xml。早期使用ant的项目中,常常用ivy.xml来下载项目依赖。 2.ant 作为java程序员,应该都知道ant,虽然可能用过的人不多。为什么ant...

RippleChan
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部