五、【源码】资源加载器

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

相关推荐
期待のcode4 分钟前
配置Mybatis环境
java·tomcat·mybatis
Fly-ping19 分钟前
【后端】java 抽象类和接口的介绍和区别
java·开发语言
平生不喜凡桃李33 分钟前
Linux 线程同步与互斥
java·jvm·redis
Dnui_King1 小时前
Oracle 在线重定义
java·服务器·前端
回家路上绕了弯1 小时前
Java 并发编程常见问题及解决方案
java·后端
天天摸鱼的java工程师1 小时前
🧠 你是如何理解 Spring Boot 中的自动配置原理的?——一个 8 年 Java 老兵的分享
java·后端·面试
Goooler1 小时前
Shadow Gradle Plugin 9 发布了
java
yngsqq2 小时前
cad c#二次开发 图层封装 获取当前层
java·数据库·c#
知行小栈2 小时前
职业生涯的日常拷问
java·数据库·后端
-Xie-2 小时前
JVM学习日记(十五)Day15——性能监控与调优(二)
java·jvm·学习