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

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

流程分析

首先,使用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

标签:Mybatis,Spring,代理类,注入
0
投稿

猜你喜欢

  • 判断List和Map是否相等并合并List中相同的Map

    2022-12-29 02:11:10
  • Android中的Selector的用法详解及实例

    2023-11-26 22:17:06
  • Java实现FIFO任务调度队列策略

    2021-09-19 09:05:37
  • Android使用addView动态添加组件的方法

    2023-12-03 03:40:25
  • android利用ContentResolver访问者获取手机短信信息

    2022-02-02 15:02:37
  • Winform开发中使用下拉列表展示字典数据的几种方式

    2022-02-23 11:56:41
  • JavaWeb实现文件上传与下载的方法

    2023-12-23 04:42:56
  • RestTemplate在Spring或非Spring环境下使用精讲

    2022-03-03 07:35:41
  • 详解SpringCloud Zuul过滤器返回值拦截

    2023-02-05 07:59:37
  • 结合.net框架在C#派生类中触发基类事件及实现接口事件

    2022-02-23 20:39:57
  • Springboot 使用maven release插件执行版本管理及打包操作

    2023-07-12 01:20:35
  • C#中事件的定义和使用

    2022-02-15 13:34:00
  • java判断某个点是否在所画多边形/圆形内

    2022-09-30 23:50:45
  • Unity实现弧形移动效果

    2023-08-03 20:58:51
  • 解决SpringBoot加载application.properties配置文件的坑

    2023-02-05 19:55:27
  • Android使用Rotate3dAnimation实现3D旋转动画效果的实例代码

    2023-07-30 12:21:29
  • C#使用BackgroundWorker控件

    2022-10-25 05:06:35
  • 详解如何使用Android Studio开发Gradle插件

    2023-11-20 23:39:05
  • 深入解析Android中的RecyclerView组件

    2021-12-02 13:07:32
  • JPype实现在python中调用JAVA的实例

    2022-08-24 03:19:52
  • asp之家 软件编程 m.aspxhome.com