五、【源码】资源加载器

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

相关推荐
技术小泽1 小时前
搜索系统架构入门篇
java·后端·算法·搜索引擎
benpaodeDD1 小时前
黑马springboot1
java·开发语言·spring boot
长安er2 小时前
LeetCode121/55/45/763 贪心算法理论与经典题解析
java·数据结构·算法·leetcode·贪心算法·贪心
墨白曦煜2 小时前
Lombok 速查指南:从基础注解到避坑实录
java
ss2732 小时前
线程安全三剑客:无状态、加锁与CAS
java·jvm·数据库
The Sheep 20232 小时前
可视化命中测试
java·服务器·前端
小小工匠2 小时前
Vibe Coding - Claude Code 做 Java 项目 AI 结对编程最佳实践
java·结对编程·claude code
源码获取_wx:Fegn08952 小时前
基于springboot + vue酒店预约系统
java·vue.js·spring boot·后端·spring
__万波__2 小时前
二十三种设计模式(十九)--备忘录模式
java·设计模式·备忘录模式
小兔崽子去哪了2 小时前
Spring AOP 专题
java·spring boot·spring