工作学习之spring:spring初始化读取xml配置文件

                                                                                            spring学习之:初始化过程

        在spring中的常见操作就是写一个xml格式的配置文件,然后把bean等相关的信息配置在其中,为什么这样做?之前很少想过。今天粗略地研究了spring的源码。明白了其中的大概的流程。

       首先在spring中bean加载的核心部分是DefauleListableBeanFactory这个类,是spring注册和加载bean的核心部分,这个类实现一系列的接口以及一些抽象类,对bean的加载功能进行了很多的功能扩展。而xmlBeanFactory则是继承了DefauleListableBeanFactory,DefaultListableBeanFactory的继承和实现如下图所示:


紧接着XmlBeanFactory对上面的类进行了扩展,主要从xml中加载bean


可以看出这是一个过期的类,现在已经不使用了,在这个类中发现了它是采用XmlBeanDefinationReader对类路径下的资源文件进行解析的。

下面我们来看看这个类:

     下面主要看看java中对资源文件的封装在spring中是怎么实现的,我们都知道在HTTP中经常把网络中的资源定义为URL,通过URL可以查看网络上的不同的资源。在spring中采用了Resource对象来实现对资源文件的封装,进而读取配置文件,解析相关的bean的配置信息。这是一个非常重要的类,它位于spring-core包下的io模块,主要是对资源文件的解析,一般的对资源文件的解析都会包含这个类的。


可以看到这个类是继承了另外的一个接口的。是一个对java中IO流中相关接口的包装和一些进一步的实现。在该接口中提供了判断资源状态,存在性,可读性等一些列的方法。从java接口的设计原理来看,肯定会有很多不同的文件系统,或者称为资源文件对于Resource的实现:FielSystenResource,ClasspathResource,UrlResource,BityArrayResource等不同的实现。


完成了对文件的读取,实质上底层还是调用jdk的io部分的相关方法进行调用的。其中还使用到了ClassLoder的getResourceAsStreeam();


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值