本文源码使用到 Jar 包版本约束如下:
- Spring Boot,2.4.12;
mybatis-spring-boot-starter
,1.3.2;
一、概述
在 Spring Boot 下使用 Mybatis 开发项目过程中,通常步骤是先定义 Mapper 接口,然后再编写与其对应的 XML 映射文件,这样就可以在需要使用数据库表操作地方直接将 Mapper 注入进来使用即可。不需要写 Mapper 接口实现,好比 XML 映射文件就是 Mapper 接口实现一样。
这里不禁就有一个疑问 —— Mybatis 向 Spring IOC 容器注册的 Mapper 接口到底是啥?
围绕这个问题,本文从源码角度分析 Mybatis Mapper 接口注入原理。
二、Mapper 接口扫描
在原生的 Spring Framework 中,装配组件有三种方式:
- 使用模式注解
@Component
等(Spring 2.5+); - 使用配置类
@Configuration
+@Bean
(Spring 3.0+)&#x