spring中增加自定义配置支持

Posted MAHUAN

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring中增加自定义配置支持相关的知识,希望对你有一定的参考价值。

spring.schemas

在使用spring时,我们会首先编写spring的配置文件,在配置文件中,我们除了使用基本的命名空间http://www.springframework.org/schema/beans之外,我们还会用到多种其他命名空间,每一种命名空间还有一个对应的xsd文档。

比如springmvc的http://www.springframework.org/schema/mvc对应http://www.springframework.org/schema/mvc/spring-mvc.xsd,aop的http://www.springframework.org/schema/aop对应http://www.springframework.org/schema/aop/spring-aop.xsd。

图为spring-mvc的命名空间和xsd文档的映射关系。

命名空间和xsd的映射关系保存在classpath或者jar包的META-INF/spring.schemas文件中。此文件会在多个jar包中存在,可通过ClassLoader.getSystemResources方法,获取所有文件的URL信息。

spring.handlers

命名空间中元素的处理,通过何种handler处理,META-INF/spring.handlers文件中保存了其映射关系。当spring在解析配置文件时,碰到了指定命名空间的元素,便使用对应的handler进行元素的处理。

图为spring-mvc的命名空间和handler的映射关系。

handler

在handler中主要定义,元素的BeanDefinitionParser,通过BeanDefinitionParser处理元素,组成一个BeanDefinition,并保存到IOC中。

自定义实现

 

 在启动spring时,会发现控制台打印出了配置文件中的name值。

 

以上是关于spring中增加自定义配置支持的主要内容,如果未能解决你的问题,请参考以下文章

基于Spring的可扩展Schema进行开发自定义配置标签支持

基于Spring可扩展Schema自定义配置

spring schema自定义扩展

0404-Ribbon通过代码自定义配置使用配置文件自定义Ribbon Client

Spring Boot中Spring MVC的整合支持

Spring validation中自定义的校验错误提示信息如何支持国际化