spring默认标签与自定义标签学习
在Spring中的标签有默认标签和自定义标签两种。
一、spring默认标签有四种:import、alias、bean和beans
解析类:接口:BeanDefinitionReader
与BeanDefinitionDocumentReader
实现类:XmlBeanDefinitionReader
、DefaultBeanDefinitionDocumentReader
二、spring自定义标签
1.自定义标签的用途
自定义标签可以说是spring提供的最大、最强的Hook(钩子),通俗的讲就是给后续小伙伴开发组件,提供一个标准公共可拔插”接口”,大家可以理解为手机充电器的工业标准口,为了方便各个充电器生产厂家生产,而制定的标准。
既然说自定义标签如此强大,我们在哪里应用的呢? 我们知道spring发展越来越强大,但核心的组件只有spring-core和spring-beans,那么有些人会问我们经常用的context,aop,tx不是吗?对的,这些都是在核心上做的扩展,而这些扩展恰恰是通过自定义标签实现扩展的,还有一些公共开源组件amq,redis,dubbo等等,他们都利用了自定义标签来扩展,使得spring容器的功能越发强大。
2.自定义标签使用
* [1] 设计配置属性和JavaBean
* [2] 编写XSD文件
* [3] 编写NamespaceHandler和BeanDefinitionParser完成解析工作
* [4] 编写spring.handlers和spring.schemas串联起所有部件
* [5] 在Bean文件中应用
3.自定义标签示例:以dubbo为例-dubbo-consumer.xml
位置如图:
XSD文件:
spring.handlers:
spring.schemas:
标签应用:
标签解析:
部分内容参考:https://blog.csdn.net/zzg1229059735/article/details/82669955