老生谈spring(十):自定义标签之DefaultNamespaceHandlerResolver
1、本节主要讲DefaultNamespaceHandlerResolver,首先看它的构造方法。它调用的是重载的构造方法,并且传了DEFAULT_HANDLER_MAPPINGS_LOCATION,DEFAULT_HANDLER_MAPPINGS_LOCATION就是项目路径META-INF下的spring.handlers文件。
2、重载的构造方法只是做了简单的赋值,把spring.handlers的路径赋值给handlerMappingsLocation变量。
3、我们回到DefaultBeanDefinitionDocumentReader的parseBeanDefinitions方法,前面讲过
parseDefaultElement是解析bean、beans、import以及alias等spring默认自带的标签,而parseCustomElement方法则是处理自定义标签。4、通过debug可以看到,namespaceUri就是xml里beans标签的命名空间uri:http://www.springframework.org/schema/context,然后就通过resolve方法解析这个uri。