跳至主要內容

如何在spring中自定义xml标签并解析

postjavaspring大约 1 分钟

如何在spring中自定义xml标签并解析

如果大家使用过dubbo那么大概率看见过<dubbo:application ...>类似的配置。这其实就是一种xml标签的自定义,当然dubbo的实现中也会有自己的解析。

这篇文章主要就说一下xml标签的自定义和解析。本篇文章中的代码仓库地址为:https://github.com/xkrivzooh/spring-define-and-parse-exampleopen in new window

大家按照上面的demo例子跑一下就会明白完整流程。其中有一些注意点我列了一下:

  • .xsd文件中的targetNamespace定义了以后,后续其他的比如xmlns的值,spring.handlers以及spring.schemas中的值需要对应上
  • xsd:element定义的就是将来会在xml文件中用到的元素,例如<dubbo:application>中的application
  • xsd:attribute定义的就是模型类中的属性,例如<dubbo:application name="xxx">中的name,并且可以指定属性类型,进而起到检测的作用(当我们定义的是int,如果在xml中的值是非int型的,直接会报错)。
  • 通常为每一个xsd:element都要注册一个BeanDefinitionParser。
  • person-demo.xml中的<AnyStringYouWant:person name="name1" age="1"/>中的AnyStringYouWant你可以随意替换

版权申明

本站点所有内容,版权均归https://wenchao.renopen in new window所有,除非明确授权,否则禁止一切形式的转载协议

打赏

微信 支付宝

上次编辑于:
打赏
给作者赏一杯咖啡吧
您的支持将是我继续更新下去的动力
微信微信
支付宝支付宝