1. 程式人生 > >spring中增加自定義配置支持

spring中增加自定義配置支持

控制 images 映射 獲取 path efi ade get 處理

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中增加自定義配置支持