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 存储配置信息

相关推荐
码视野16 分钟前
基于 Spring Boot + Vue3 的【大学英语四六级 (CET-4/6) 作文智能评分与句式润色系统】设计与实现(含PRD/三端高保真源码/大屏)
java·前端·人工智能·spring boot·后端·vue3
MetaLite18 分钟前
Spring-AOP自调用为什么失效-AopContext真能解决吗
java·后端·spring
大模型码小白22 分钟前
AI 对话流性能调优:万级消息的虚拟滚动落地
java·大数据·前端·javascript·人工智能·算法·机器学习
许彰午1 小时前
14-字段级SM4加密与SM2签名
java·低代码·架构
MC皮蛋侠客1 小时前
Tauri 2.x 系列(五):调用系统 API——官方插件、Rust crate 与原生能力
开发语言·后端·rust
许彰午2 小时前
13-describe元数据输出
java·低代码·架构·状态模式
Profile排查笔记3 小时前
指纹浏览器怎么设置 IP?代理配置、检测与排错流程
前端·人工智能·后端·自动化
用户3721574261353 小时前
Java 设置 Word 文档编辑限制并允许指定区域编辑
java
宠友信息4 小时前
社区类源码开发实践中的仿小红书系统技术要点分析
java·spring boot·redis·mysql·uni-app·vue·内容运营