本文javaeye同步更新地址:
http://lcllcl987.javaeye.com/blog/351655
spring2以上版本支持自定义标签.
作为一般的应用程序开发人员,扩展spring的标签意义不大。
但如果你是一个平台开发人员,则很有必要拥有一套自己的标签, 提供给应用开发人员使用.
由于mule的标签是基于spring的xml schema扩展的, 为了弄出mule的自定义标签, 今天研究了一下spring的标签扩展, 并笔记之
让我们从一个简单的spring标签制作开始吧。
我需要做的标签如下:
这个标签功能简单, 仅仅打印一下log.它和如下spring bean功能一样:
标签的schema如下:
log标签背后的bean如下:
实现一个标签需要扩展一个class:
NamespaceHandlerSupport
并实现一个interface:
LogNamespaceHandler在spring的Ioc容器加载配置文件时,遇到log节点便会调用LogBeanDefinitionParser,完成bean的初始化,并注册到spring context中.
最后在META_INF中, 加入两个配置文件:
spring.handlers和spring.schemas
spring.handlers内容如下:
最后测试一下:
新建一个applicationContext.xml:
testcase:
绿色在期待中出现.
为了让mule使用这个bean, 只需mule的配置文件导入上面的spring的Application.xml
然后定义一个mule:
写一个mule的测试: