五、【源码】资源加载器

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

相关推荐
Ro Jace1 小时前
计算机专业基础教材
java·开发语言
mango_mangojuice1 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
程序员侠客行1 小时前
Mybatis连接池实现及池化模式
java·后端·架构·mybatis
时艰.1 小时前
Java 并发编程 — 并发容器 + CPU 缓存 + Disruptor
java·开发语言·缓存
丶小鱼丶1 小时前
并发编程之【优雅地结束线程的执行】
java
市场部需要一个软件开发岗位1 小时前
JAVA开发常见安全问题:Cookie 中明文存储用户名、密码
android·java·安全
忆~遂愿1 小时前
GE 引擎进阶:依赖图的原子性管理与异构算子协作调度
java·开发语言·人工智能
MZ_ZXD0012 小时前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
PP东2 小时前
Flowable学习(二)——Flowable概念学习
java·后端·学习·flowable
ManThink Technology2 小时前
如何使用EBHelper 简化EdgeBus的代码编写?
java·前端·网络