美文网首页
Spring自定义标签

Spring自定义标签

作者: coderlan | 来源:发表于2018-04-23 23:42 被阅读0次

    在xml配置的方式中,经常看到一些框架自定义的标签,看起来很高级。其中要实现,很简单。

    声明自己的schema

    这是第一步,首先为自己的组件定义合适的xml schema。这部分需要xsd的知识,不是本文重点,不做展开。

    定义好自己的schema之后,放在某个目录下,通常是META-INF/下。

    配置

    在resource/META-INF下增加两个文件,就是spring.handlers和spring.schemas。
    spring.schemas用于配置xml命名空间和第一步创建的xsd文件

    http\://xxx.com/schema/test.xsd=META-INF/test.xsd
    

    而spring.handlers则是为标签(命名空间)添加解析器的。

    http\://xxx.com/schema/test=com.xxx.xxxxx.TestHandler
    

    解析器的作用就是将这段自定义xml转换成BeanDefinition,并且注册到BeanFactory上,因此这里的标签解析器,其实是一个BeanDefinitionParser 。
    在自定义标签的实践中,可以通过NamespaceHandlerSupport 而不是直接使用BeanDefinitionParser ,来获得一些便捷。

    生成BeanDefinition

    反正根据自己需要,创建合适的BeanDefinition就好,没啥好说的。

    相关文章

      网友评论

          本文标题:Spring自定义标签

          本文链接:https://www.haomeiwen.com/subject/elzrlftx.html