阅读本附件前,最好先调通附件中的示例。
介绍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集成的过程。
- 大小: 222.6 KB
- 大小: 247.6 KB
- 大小: 272.2 KB
分享到:
相关推荐
本示例代码“扩展Spring schema样例代码 maven”旨在介绍如何在Spring框架中扩展自定义的schema,以及如何在一个Maven项目中整合这些扩展。 首先,让我们深入理解Spring Schema扩展的概念。Spring Schema是Spring ...
以下是关于“spring framework schema”及其相关标签“springschema”的详细知识点: 1. **Schema**: 在Spring Framework中,schema是一种XML配置方式,用于定义bean的行为和依赖关系。例如,`jdbc`、`jms`、`cache...
Spring 4.0 Schema是Spring框架的一个重要组成部分,它定义了Spring配置文件的结构和语义,使得开发者可以通过XML配置来声明式地管理应用程序的组件和依赖关系。在这个压缩包中,包含了多个子目录,每个目录对应...
《Spring Framework 4.2.4.RELEASE:深入解析Schema》 Spring Framework是Java平台上的一个核心企业级应用框架,以其模块化、可扩展性和强大的功能而闻名。4.2.4.RELEASE版本是该框架的一个重要里程碑,它带来了...
本次我们聚焦于"spring-5.2.9.RELEASE-schema.zip"压缩包,通过其包含的子文件,深入探讨Spring 5.2.9版本的关键概念和组件。 1. **Mvc(Model-View-Controller)模块**: Spring MVC是Spring框架的一个重要组成...
“所有jar包和schema源文件 很全很全”意味着这个压缩包可能包含了Spring框架的完整集合,包括不同版本的JAR文件,可能还有相关的XML Schema文件。XML Schema(XSD)文件是用于定义XML文档结构和数据类型的规范。在...
本篇文章将聚焦于“自定义Schema解析Spring Bean”这一主题,这是一项高级功能,允许开发者扩展Spring的XML配置能力,以满足特定项目的需要。 自定义Schema解析是Spring框架提供的一个强大特性,它允许开发者创建...
《Spring Framework 4.2.5 Schema 深度解析》 Spring Framework 是一个全面的Java应用程序开发框架,以其模块化、灵活性和强大的功能而备受赞誉。在4.2.5版本中,Spring引入了对各种XML Schema的支持,极大地简化了...
13. **Spring Schema**:"spring-5.3.9-schema.zip"可能包含了 Spring 框架的 XML 配置的架构文件,这些文件定义了合法的元素和属性,有助于验证和编辑配置文件。 总的来说,Spring 5.3.9.RELEASE 是一个功能丰富且...
《Spring Framework 4.3.4.RELEASE Schema详解》 Spring Framework是Java开发中的一个核心框架,它为创建高效、灵活且可测试的Java应用程序提供了强大的支持。在4.3.4.RELEASE版本中,Spring引入了对XML Schema的...
在Spring框架中,自定义配置Schema的扩展是提高应用程序灵活性和可配置性的重要方式。它允许开发者定义自己的XML标签和属性,以适应特定项目的需求。本文将深入探讨Spring自定义配置Schema的可扩展性,特别是在第二...
本教程将详细讲解如何实现这一过程,通过创建自定义Schema和处理注解,使得Spring能够自动发布基于注解的WebService服务。 首先,创建一个新的Java项目,并引入必要的依赖。如文中所述,可以使用Maven来创建...
在Spring框架中,schema约束是XML配置文件中的一个重要组成部分,它们定义了如何正确地配置Spring容器中的各种组件,如bean、property、aop等。Spring 4.2.0是该框架的一个版本,引入了一些新的特性和改进,同时也对...
需要注意的是,不同的Spring版本可能对应不同的Schema文件,例如上述例子中的`spring-beans-2.5.xsd`是Spring 2.5版本的Schema,如果你使用的是其他版本,需要找到相应版本的Schema文件并进行替换。此外,MyEclipse...
11. **Spring Schema**:`spring-framework-5.0.4.RELEASE-schema.zip`可能包含Spring的XML Schema定义,这些定义帮助开发者在编写XML配置时进行验证,确保正确性。 总的来说,Spring Framework 5.0.4.RELEASE是一...
在Spring框架中,自定义Schema允许开发者扩展XML配置,创建自己的标签来定义Bean,从而更加灵活地管理应用程序的配置。Spring 2.5引入了这一特性,使得开发者可以在标准的Spring Schema基础上添加自定义功能。以下是...
这个"spring-framework-4.1.5.RELEASE-schema.zip"压缩包包含了Spring框架在不同模块中的XML Schema定义,这些定义帮助开发者以结构化的方式配置Spring应用。 1. **jee**:这个子目录下的文件与Java EE(Enterprise...
本篇文章将深入探讨Spring AOP的Schema实现,即基于XML配置的方式来理解和应用AOP。 一、Spring AOP基础概念 1. 切面(Aspect):切面是关注点的模块化,例如日志、事务管理。在Spring AOP中,切面由通知(Advice...
在使用Spring,写核心配置文件的时候都引入了不一样的约束,这里总结关于spring的XML约束+Schema约束。以后不管是仅使用ioc功能还是aop,把全部的约束引入即可。至于说如何找到这些约束的代码的过程,也在这个文档...