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