spring framework 源码分析,加载配置文件

在上一篇《spring framework 源码分析,从入口开始》我们知道了默认的配置文件路径和自定义配置文件路径,这篇我们介绍这些配置文件是如何加载的。

loadBeanDefinitions.png
在AbstractApplicationContext的refresh()方法中通过层层调用,然后在XmlWebApplicationContext 的loadBeanDefinitions方法中,设置ResourceLoader为this,通过getConfigLoacations()获取配置文件路径。
ResourcePatternResolver

ApplicationContext

依次遍历配置文件路径,因为resourceLoader类型是XmlWebApplicationContext,而XmlWebApplicationContext继承至ApplicationContext实现了ResourcePatternResolver的接口,所以如图会走if分支,然后通过resourceLoader.getResurece(location)方法把配置文件路径转换为Resource资源,最后解析Resouce,加载beans。
如何把路径转换为Resource资源?
spring-framework-reference/resources
相关测试文件

  • /spring-context/src/test/java/org/springframework/context/support/ClassPathXmlApplicationContextTests.java
  • /spring-webmvc/src/test/java/org/springframework/web/context/XmlWebApplicationContextTests.java

在下一篇我们将继续研究spring是如何解析这些配置文件,加载beans的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容