首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

spring4.0源码分析解析xml给养━━━(PluggableSchemaResolver类)

2013-08-09 
spring4.0源码分析解析xml补充━━━(PluggableSchemaResolver类)??????? 上面一篇文件讲了BeanDefinition的

spring4.0源码分析解析xml补充━━━(PluggableSchemaResolver类)

??????? 上面一篇文件讲了BeanDefinition的原理。这一篇讲spring解析xml的时候一些小特点。主要是验证,然后不同的xml名称空间会有不同的类来解析xml。解析xml,spring没有用到第三方库,而是直接使用java的api。这里是和spring解析xml类似的代码。我们从这里开始。

??????? spring解析是直接用DocumentBuilder这个类生成Document,然后通过Document得到不同的Element,并且不同的Element,为不同的方法解析。解析xml时验证的实例就会用到PluggableSchemaResolver类。

?

上面的schemaMappings就是存放url对应的xsd地址。这里是读classpath路径下所有的META-INF/spring.schemas文件。读的方法就类似下面:

@Testpublic void testMeta() throws IOException {ClassLoader cld = Thread.currentThread().getContextClassLoader();Enumeration enumURL = cld.getResources("META-INF/spring.schemas");int count = 0;while (enumURL.hasMoreElements()) {URL url = (URL) enumURL.nextElement();count++;System.out.println(url.getFile());InputStream is = url.openConnection().getInputStream();int i = is.read();while (i != -1) {System.out.print((char) i);i = is.read();}System.out.println();is.close();}System.out.println(count);}

?

热点排行