spring默认标签与自定义标签学习

在Spring中的标签有默认标签和自定义标签两种。

一、spring默认标签有四种:import、alias、bean和beans
解析类:
接口:BeanDefinitionReaderBeanDefinitionDocumentReader
实现类:XmlBeanDefinitionReaderDefaultBeanDefinitionDocumentReader

二、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

 

posted @ 2020-12-23 17:50  fangyanr  阅读(205)  评论(0编辑  收藏  举报