Spring对XML标签的加载是在AbstractXmlApplicationContext和XmlWebApplicationContext这两种容器实例中进行的。
在加载Bean配置时先解析XML文件,然后获取特定的标签,找到指定的NamespaceHandler来解析XML文件,最后将Bean的描述信息注册在工厂中并且完成整个解析流程。
从Spring加载XML文件到解析标签,在XML文件中定义的每个标签节点其实都是Spring预先定义好的标签,包括用户自定义的标签。XML解析就是解析这些标签。从读取、解析到注册到工厂,Spring使用了类似于SPI模式的高扩展模式。
Spring XML的加载是按照在XML标签中节点定义的对应关系来读取解析Bean之间的对应关系的,进而按照指定的Bean关系进行装配注入。