mybatis-starter使用指南
- 自动检测工程中的DataSource
- 创建并注册
SqlSessionFactory实例 - 创建并注册
SqlSessionTemplate实例 - 自动扫描mappers
mybatis-starter原理解析
注解类引入原理

查看对应的autoconfigure包

MybatisLanguageDriverAutoConfiguration 主要是协助使用注解来配置SQL语句的

@Configuration: 标志为配置类
@ConditionalOnClass和@ConditionalOnSingleCandidate都是生效条件: SqlSessionFactory.class ,SqlSessionFactoryBean.class, DataSource.class
@EnableConfigurationProperties: 使mybatis前缀的properties的配置生效
@AutoConfigureAfter:
- 保证在
DataSourceAutoConfiguration.class和MybatisLanguageDriverAutoConfiguration.class两个配置类之后生效 DataSourceAutoConfiguration: 对数据源做配置MybatisLanguageDriverAutoConfiguration: 主要是协助使用注解来配置SQL语句的
MybatisAutoConfiguration 的主要作用是注入两个Bean: SqlSessionFactory和SqlSessionTemplate

配置类源码解析

关键类注入

Mapper类扫描

Mapper类生成

Mapper类执行
