spring schema介绍
来源:互联网 发布:做金融网络销售赚钱吗 编辑:程序博客网 时间:2024/04/30 13:03
来源:http://luyuanliang.iteye.com/blog/2154805
spring schema: http://www.springframework.org/schema/
阅读本附件前,最好先调通附件中的示例。
介绍spring与schema的集成。
spring除了自定义的配置外,还允许扩展其他格式的XML配置。其他开源框架有自定义的配置,可以通过schema,xsd等技术与spring集成。例如CXF关于REST的配置。
很多的开源架构,spring都在自身的基础上开发了一系统集成,所以很多框架是不需要像本文一样自已定义XSD与之对应的解析。
而且spring本身自定义的配置格式也是基于schema,xsd来实现的。
首先先了解applicationContext 中 xmlns 与 xsi:schemaLocation 含意
首先是xmlns
xmlns是XML Namespaces的缩写,中文名称是XML(标准通用标记语言的子集)命名空间。
产生原因:
下面这个 XML 文档携带着某个表格中的信息:
下面这个 XML 文档携带有关桌子的信息(一件家具):
假如这两个 XML 文档被一起使用,由于两个文档都包含带有不同内容和定义的 <table> 元素,就会发生命名冲突。XML 解析器是无法确定如何处理这类冲突。
xmlns 只是针对当前XML文件的映射,与其他文件无关。如上图所示"dog",在有可能产生命名冲突的场合,通过自定义命名空间来解决冲突。
schemaLocation
schemaLocation 属性用来引用(schema)模式文档,解析器可以在需要的情况下使用这个文档对 XML 实例文档进行校验。它的值(URI)是成对出现的,第一个值表示命名空间,第二个值则表示描述该命名空间的模式文档的具体位置,两个值之间以空格分隔。当然,在必要情况下,可以为 schemaLocation 属性指派多个这样的值对。 如上图所示。
从上图可以看到,配置是两个URL地址,在不连网络的情况下,或者URL不是真实存在的场合,也可以进行加载,这是因为在META-INF下有两个配置文件。通过映射读取本地信息。如下图所示。
第一个值表示命名空间,对应的文件是spring.handlers,
告诉spring用哪个类进行解析处理。
第二个值则表示描述该命名空间的模式文档的具体位置
关于配置示例图中:cat的映射关系:
cat 是需要在三个文件中统一:
MyNamespaceHandler,spring-people-3.1.xsd,application.xml
在spring-people-3.1.xsd可以配置多个属性上。
附件是spring,xsd,schema集成的过程。
介绍spring与schema的集成。
spring除了自定义的配置外,还允许扩展其他格式的XML配置。其他开源框架有自定义的配置,可以通过schema,xsd等技术与spring集成。例如CXF关于REST的配置。
很多的开源架构,spring都在自身的基础上开发了一系统集成,所以很多框架是不需要像本文一样自已定义XSD与之对应的解析。
而且spring本身自定义的配置格式也是基于schema,xsd来实现的。
首先先了解applicationContext 中 xmlns 与 xsi:schemaLocation 含意
首先是xmlns
xmlns是XML Namespaces的缩写,中文名称是XML(标准通用标记语言的子集)命名空间。
产生原因:
下面这个 XML 文档携带着某个表格中的信息:
- <table>
- <tr>
- <td>Apples</td>
- <td>Bananas</td>
- </tr>
- </table>
下面这个 XML 文档携带有关桌子的信息(一件家具):
- <table>
- <name>AfricanCoffeeTable</name>
- <width>80</width>
- <length>120</length>
- </table>
假如这两个 XML 文档被一起使用,由于两个文档都包含带有不同内容和定义的 <table> 元素,就会发生命名冲突。XML 解析器是无法确定如何处理这类冲突。
xmlns 只是针对当前XML文件的映射,与其他文件无关。如上图所示"dog",在有可能产生命名冲突的场合,通过自定义命名空间来解决冲突。
schemaLocation
schemaLocation 属性用来引用(schema)模式文档,解析器可以在需要的情况下使用这个文档对 XML 实例文档进行校验。它的值(URI)是成对出现的,第一个值表示命名空间,第二个值则表示描述该命名空间的模式文档的具体位置,两个值之间以空格分隔。当然,在必要情况下,可以为 schemaLocation 属性指派多个这样的值对。 如上图所示。
从上图可以看到,配置是两个URL地址,在不连网络的情况下,或者URL不是真实存在的场合,也可以进行加载,这是因为在META-INF下有两个配置文件。通过映射读取本地信息。如下图所示。
第一个值表示命名空间,对应的文件是spring.handlers,
- http\://www.kkk.com/schema/people=com.luyee.people.spring.MyNamespaceHandler
告诉spring用哪个类进行解析处理。
第二个值则表示描述该命名空间的模式文档的具体位置
- http\://www.luyee.com/schema/spring-people-3.1.xsd=com/luyee/people/config/spring-people-3.1.xsd
关于配置示例图中:cat的映射关系:
cat 是需要在三个文件中统一:
MyNamespaceHandler,spring-people-3.1.xsd,application.xml
在spring-people-3.1.xsd可以配置多个属性上。
附件是spring,xsd,schema集成的过程。
0 0
- spring schema介绍
- Spring简单的一个schema 介绍
- Schema 介绍
- Schema 介绍
- Schema 介绍
- Schema介绍
- XML Schema介绍
- XML Schema介绍
- Schema入门介绍
- XML Schema 介绍
- schema对象介绍
- Schema的简单介绍
- XML Schema介绍
- 数据库中的Schema介绍
- schema.xml配置介绍
- Spring schema加载方法
- spring schema扩展结构
- Spring Aop Schema 实现
- spring@value注入spel表达式
- VS2013MFC对话框工程学习笔记十一 - 动态改变一个控件标题
- UVALive 7040 Color (容斥原理 + 组合数学递推公式 + 求逆元 + 基础数论)
- 【FFmpeg学习笔记004】 视音频数据处理入门
- BZOJ3207: 花神的嘲讽计划Ⅰ
- spring schema介绍
- Gateone
- jrtplib—VS2013 win7 下RTP开源协议库JRTPLIB3.9.1编译
- kmp算法理解
- leetcode之Palindrome Number
- 流媒体传输协议(rtp/rtcp/rtsp/rtmp/mms/hls)
- 【科普杂谈】IP地址子网划分
- 纯CSS多级导航栏
- Qt入门(常用类、方法、信息槽)