五、【源码】资源加载器

源码地址: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家族进行扩展,类图如下

相关推荐
毕设源码-郭学长12 分钟前
【开题答辩全过程】以 J2EE在电信行业的应用研究为例,包含答辩的问题和答案
java·java-ee
Aevget13 分钟前
「Java EE开发指南」如何用MyEclipse开发Java EE企业应用程序?(二)
java·ide·java-ee·开发·myeclipse
不爱编程的小九九40 分钟前
小九源码-springboot048-基于spring boot心理健康服务系统
java·spring boot·后端
龙茶清欢42 分钟前
Spring Boot 应用启动组件加载顺序与优先级详解
java·spring boot·后端·微服务
青云交1 小时前
Java 大视界 -- Java 大数据在智能公交调度优化与准点率提升中的应用实践(416)
java·动态规划·flink cep·spark mllib·智能公交调度·杭州公交案例·准点率提升
RainbowSea1 小时前
4. ChatClient 的初始,快速使用上手
java·spring·ai编程
RainbowSea1 小时前
3. Ollama 安装,流式输出,多模态,思考模型
java·spring·ai编程
沧澜sincerely2 小时前
Redis 键空间 & 五大类型
java·redis·docker
235162 小时前
【LeetCode】3. 无重复字符的最长子串
java·后端·算法·leetcode·职场和发展
nandao1582 小时前
springBoot 集成Neo4j 实战演示
java·spring boot·neo4j