神刀安全网

spring-namespacehandler(Spring自定义标签)

在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于Spring的标准Bean来配置,但是对于一些常用组件,我们不希望通过每个项目时候的都通过配置bean实例,而是通过一个标签来简洁的实现此功能,比如:

<context:component-scan base-package="com.qunar.flight.nts.web"/>

或者  <mvc:default-servlet-handler/>

Spring提供了可扩展Schema的支持,这是一个不错的折中方案,完成一个自定义配置标签一般需要以下步骤:

设计配置属性和JavaBean

编写XSD文件

编写NamespaceHandler和BeanDefinitionParser完成解析工作

编写spring.handlers和spring.schemas串联起所有部件

附件是我实现的一个样例,欢迎参考学习~

注意:

1、xsd存放在classpath下,一般都放在META-INF目录下(本例就放在这个目录下)

2、spring提供了spring.handlers和spring.schemas这两个配置文件来完成这项工作,这两个文件需要我们自己编写并放入META-INF文件夹中,这两个文件的地址必须是META-INF/spring.handlers和META-INF/spring.schemas,spring会默认去载入它们。

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » spring-namespacehandler(Spring自定义标签)

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址