Spring自定义标签解析

    xiaoxiao2026-03-20  13

    写在前面自定义标签配置步骤其它自定义标签

    写在前面

    在学习spring源码的过程中,发现自己对自定义标签使用的较少,所以记录下自定义标签的使用方法。例子是书《Spring源码深度解析》上的例子,由于没有找到书的源码,就手敲了一遍代码,顺便记录下使用方法。 代码下载地址:https://github.com/LQZYC/SpringCustomElementLearn.git

    自定义标签配置步骤

    创建一个需要扩展的组件。定义一个xsd文件描述组件内容。创建一个文件,实现BeanDefinitionParser接口,用来解析xsd文件中的定义和组件定义。创建一个handle文件,扩展自NamespaceHandlerSupport,目的是将组件注册到spring容器。编写spring.handlers和spring.schemas文件,这两个文件的存放位置默认在工程的/META-INF/文件夹下。

    按照以上步骤,参考源代码会很容易理解。

    其它自定义标签

    spring本身包括很多自定义标签,如<aop:aspectj-autoproxy>、<tx:annotation-driven>等。要查看这些标签如何解析的,只需要在spring工程中全局搜索对NamespaceHandlerSupport进行扩展的类。如aop标签的处理类为AopNamespaceHandler,其中有一段代码registerBeanDefinitionParser("aspectj-autoproxy", new AspectJAutoProxyBeanDefinitionParser()),从而我们可以阅读AspectJAutoProxyBeanDefinitionParser类来了解aop的解析过程。

    相关资源:spring自定义标签例子
    最新回复(0)