软件编程
位置:首页>> 软件编程>> java编程>> Mybatis通过Spring完成代理类注入的流程分析

Mybatis通过Spring完成代理类注入的流程分析

作者:百步飞剑 盖聂  发布时间:2023-10-25 00:55:55 

标签:Mybatis,Spring,代理类,注入

流程分析

首先,使用mybatis的时候会定义mapper接口的基础包,一般我们会用@MapperScanner这个注解,来看下这个注解

Mybatis通过Spring完成代理类注入的流程分析

 来看下这个MapperScannerRegistrar类

Mybatis通过Spring完成代理类注入的流程分析

 这个类实现了ImportBeanDefinitionRegistrar也就是spring注册beanDefined时候需用到,这个重写了一下,这个方法里,前面的话是一些基础属性的赋值,最重要的是这个方法

Mybatis通过Spring完成代理类注入的流程分析

根据basePackages去进行扫描,来跟下这个方法

Mybatis通过Spring完成代理类注入的流程分析

 首先会调用父类生成一个BeanDefinitionHolder的集合,重点是这个方法processBeanDefinitions,而在这个方法里,重中之重的是这个

Mybatis通过Spring完成代理类注入的流程分析

 很形象,偷换概念了,将这个bean的实现类换成了MapperFactoryBean,它肯定实现了FactoryBean的接口并实现了getObject这个方法,getObject也就是我们实例化bean获取bean的途径,继续往下跟,果然

Mybatis通过Spring完成代理类注入的流程分析

之后是这个

Mybatis通过Spring完成代理类注入的流程分析

 之后是这个

Mybatis通过Spring完成代理类注入的流程分析

 调用了MapperRegistry,来看下

Mybatis通过Spring完成代理类注入的流程分析

 最后到了MapperProxyFactory,来看下

Mybatis通过Spring完成代理类注入的流程分析

 按照如下的步骤进行调用的,最后通过jdk * 的方法,绑定mapper接口的最终实现是mapperProxy

来源:https://blog.csdn.net/qwe3642/article/details/119791727

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com