Spring 中的IOC控制反转 和DI依赖注入

IOC控制反转

ApplicationContext

ClassPathXmlApplicationContext

AnnotationConfigApplicationContext

WebApplicationContext

BeanDefinition

XmlBeanDefinition

AnnotationConfigDefinition

BeanDefinitionReader

XmlBeanDefinitionReader

应该在DI中才用到

BeanWraper

就是配置文件BeanDefinitionMap

DI是从哪里开始?

getBean() 为什么?因为Spring默认是懒加载

实例化,有两种情况

目标类配置了AOP 代理对象

目标类没有配置AOP,原生对象

由这个方法发实例化对象的动作

instantiateBean()

由这个方法发起依赖注入的动作

populateBean()

factoryBeanInstanceCache 用来存储BeanWraper的Map

factoryBeanObjectCache 用来存原生的Bean的Map

BeanDefinationMap 用来存储BeanDefinitionmap 存储配置信息

相关推荐
小π军2 小时前
操作系统面试题
java·linux·服务器
倔强的石头1062 小时前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
java·运维·开发语言
Shaoshing3 小时前
ThreadLocal
java·jvm·threadlocal
写后端的胖头鱼3 小时前
一文详解CAS
java·jvm·spring·cas·乐观锁·自旋
鱼宵3 小时前
Spring AI 提示词模板:{变量} 参数化 + few-shot,一条提示词反复用
java·人工智能·spring·few-shot·提示词工程·springai
调试人生的显微镜3 小时前
iOS开发入门:Interface Builder、基础控件及UITextField详解
后端·ios
泡海椒3 小时前
巡检照片与工单附件:jquick-pdf 图片嵌入的业务实战
后端
蜗牛互联网3 小时前
Python消费Responses SSE事件:增量文本、超时与取消
java·开发语言·人工智能·后端·python
AI持续学习3 小时前
文档权限变更如何回归测试?账号、空间、文件和分享链接用例清单
后端