Spring源码(2)mybatis把对象交给spring
2022/1/5 22:34:24
本文主要是介绍Spring源码(2)mybatis把对象交给spring,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
上一次已经明白mybatis 用 mapperfactorybean得到对象,然后交给spring,那这个是怎么交给spring的呢?
研究mybatis公司,是如何把自己产生的对象(代理对象)注入给spring容器的呢??
也就是要弄清楚,spring提供了哪些技术来实现把一个对象注入给spring容器的?
====================================
-
xml 配置<bean>标签=======不行,对象由mybatis实例化,这种方式是spring来实例化
-
把一个接口 交给spring,spring并不知道动态代理产生什么对象,而且产生的对象还要操作数据库,所以不行。
-
-
注解扫描=================不行,对象由mybatis实例化,这种方式是spring来实例化
-
@Bean==============可以,每注入一个bean,就要在配置类里面写很多的方法,很多的@bean,不推荐,mybatis也没有采纳\
-
applicationContext===benfactory===register.... 也没有采用,我觉得应该也会出现很多的 注册语句
-
FactoryBean=====采用,MapperFactoryBean 就实现了FactoryBean接口。
============================================================
Mybatis仍然保留了注入单个的方式 <bean>标签的方式
继承了FactoryBean的类,仍然是bean,也需要生效====xml:无法结局注入接口
=====注解@component 这也不行,写死了,无法动态生成
=====@Bean 理论上可以。但是比较冗余,不推荐。
=====采用BeanDefinition
Class 来描述一个对象, BeanDefinition 来描述一个bean
BeanDefinition里面包含很多属性,比如scope是单例还是原型啊什么的一大堆。
而且BeanDefinition的种类也很多。
Java文件通过类加载器加载到JVM中后变成Class,当spring启动之后
:
判断规则,符合就实例化为BeanDefinition
把类变成BeanDefinition,然后变成一个对象,把对象保存着。
这篇关于Spring源码(2)mybatis把对象交给spring的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)