五、【源码】资源加载器

源码地址:https://github.com/spring-projects/spring-framework

仓库地址:https://gitcode.net/qq_42665745/spring/-/tree/05-resource-loader

资源加载器

流程:

1.初始化BeanFactory

2.创建XmlBeanDefinitionReader用于从 XML 文件中读取 bean 定义,初始化资源加载器为默认加载器DefaultResourceLoader

3.加载资源,拿到输入流,调用DefaultResourceLoader.getResource方法决定使用(类路径、文件系统、指定url)中的哪种实现来加载资源,加载资源后获得输入流

4.解析输入流,将标签解析为BeanDefinition,将BeanDefinition注册到BeanFactory中

总结:通过配置spring.xml的配置文件,使用资源加载器进行解析成BeanDefinition注入BeanFactory里

这一节还对BeanFactory家族进行扩展,类图如下

相关推荐
懈尘11 小时前
深入理解Java的HashMap扩容机制
java·开发语言·数据结构
indexsunny11 小时前
互联网大厂Java面试实战:从Spring Boot到Kafka的技术与业务场景解析
java·spring boot·redis·面试·kafka·技术栈·microservices
roman_日积跬步-终至千里11 小时前
【Java并发】Tomcat 与 Spring:后端项目中的线程与资源管理
java·spring·tomcat
独自破碎E11 小时前
IDEA 提示“未配置SpringBoot配置注解处理器“的解决方案
java·spring boot·intellij-idea
yqd66611 小时前
RabbitMQ用法和面试题
java·开发语言·面试
2601_9498095911 小时前
flutter_for_openharmony家庭相册app实战+照片详情实现
android·java·flutter
4311媒体网11 小时前
Libvio.link 页面布局与数据分布
java·php
奋斗的小方11 小时前
01 一文读懂UML类图:核心概念与关系详解
java·uml
长安城没有风11 小时前
Java 高并发核心编程 ----- 线程池原理与实践(上)
java·juc
Remember_99311 小时前
Spring 核心原理深度解析:Bean 作用域、生命周期与 Spring Boot 自动配置
java·前端·spring boot·后端·spring·面试