从源码的角度解析Spirng 的import标签和alias标签的处理

在上一篇博客《源码深度剖析Spring Bean标签的解析及注册》中描述了bean 标签的解析以及注册。 而Spring 的XML 配置文件职工包括import标签、alias标签、bean标签和beans 标签,那么这篇博客就针对剩余的import 标签 、alias标签进行处理。由于beans标签类似于import标签所提供的功能,再次就不在赘述了, 感兴趣的可以自行查看源码。

alias 标签处理

在对bean进行定义的时候, 除了使用id属性来指定名称之外,为了提供多个名称,可以使用alias标签来指定,而这些指定的名称都会指向同一个bean。在XML 配置文件中,可以单独使用标签来完成bean别名的定义,例如:
在这里插入图片描述
这样每个组件及主程序就可以通过唯一名称来引用同一个bean 而互不干扰了。 alias 的解析入口如下:
在这里插入图片描述
接下来就来看下是如何解析alias标签的。
在这里插入图片描述从代码中可以得知,alias标签解析最终调用了bean标签中的alias标签解析,最终也是将alias 和beanName 组成一对注册至registry中。

import 标签处理

如果xml过于庞大的时候,可以把按照一定的规则拆分为多个xml,然后通过import 标签导入到主的XML 配置文件中, 例如:
在这里插入图片描述
通过import 标签导入有模块配置文件,在后续的开发中若有新的模块加入,就可以简单修改这个文件,可以大大简化配置后期维护的复杂度,使配置模块化,易于管理, spring解析import标签入口如下:
在这里插入图片描述
在解析import标签时,spring 通过以下6个步骤完成解析:
步骤一: 获取resource 属性所表示的路径
步骤二: 解析路径中的系统属性,
步骤三:判定location 是绝对路径还是相对路径;
步骤四: 如果是绝对路径则递归调用bean的解析过程,进行解析;
步骤五: 如果是相对路径则计算出绝对路径进行解析;
步骤六:通过监听器,解析完成。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弯_弯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值