mybatis是如何将mapper接口注册到spring
今天看了篇博客,就是这个标题,但是说得不够清楚。我在研究源码后补上部分细节
在阅读本篇博客前,需要阅读 这篇博客
MapperScannerRegistrar
mybatis通过该类注入一个 BeanDefinitionRegistryPostProcessor 的实现类 MapperScannerConfigurer
MapperScannerConfigurer
这个类主要读取了mybatis的一些配置信息,并且创建一个ClassPathMapperScanner用于对包进行扫描
ClassPathMapperScanner
这个类负责路径扫描,但是不负责实例创建和代理
MapperFactoryBean
这里负责实例的创建,但是最终该任务会被交给MapperRegistry,MapperRegistry会通过MapperProxyFactory创建一个代理。
MapperProxyFactory
通过MapperProxy实现代理,所以逻辑都在MapperProxy里
MapperMethod
在MapperProxy里会创建MapperMethod,这个类才是执行相关方法的核心类
mybatis是如何将mapper接口注册到spring
http://blog.inkroom.cn/2020/09/21/2FNKG2W.html