二、Spring源码xml标签属性配置解析

2. Spring源码xml标签属性配置解析

2.1 Spring加载容器的方式

  1. 类路径获取配置文件ClassPathXmlApplicationContext

  2. 文件系统路径获取配置文件绝对路径FileSystemXmlApplicationContext

  3. 注解方式加载容器 AnnotationConfigApplicationContext

  4. Springboot 加载容器 EmbeddWebApplicationContext

下面主要通过ClassPathXmlApplicationContext加载spring.xml的方式进行介绍。

2.2 Spring xml标签解析流程

image-20210106230808644

refresh()方法中的 obtainFreshBeanFactory()负责解析spring定义的xml标签并将标签内容封装成BeanDefinition对象。

image-20210106230932591

refreshBeanFactory()调用子类实现的方法,该方法采用了模板方法模式

image-20210106231658979

image-20210106232059086

XmlBeanDefinitionReader使用了委托模式

image-20210107210031717

通过XmlBeanDefinitionReader对象对配置文件进行加载

image-20210106232758617

image-20210106232915064

image-20210107210141974

image-20210107211520390

image-20210107211542279

image-20210107211759419

image-20210107211844264

image-20210107212029396

image-20210107212218585

image-20210107212321337

image-20210107212357277

image-20210107212515848

image-20210107213814890

2.1.1 默认标签解析

image-20210107214121619

解析Element, 将其封装成BeanDefinition

image-20210107214350249

image-20210107224435519

image-20210107224629221

image-20210107224917727

2.1.2 自定义标签解析

image-20210107225319707

image-20210107225806429

image-20210107225934405

namespaceUri与NamespaceHandler

image-20210107230111326

image-20210107230255608

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值