gpt4 book ai didi

spring - xmlns 定义在 spring 配置文件中有何不同

转载 作者:行者123 更新时间:2023-12-05 01:24:13 25 4
gpt4 key购买 nike

学习Spring我在spring配置文件中发现了两种xmlns的定义。
一个从这个开始:

 <beans xmlns="http://www.springframework.org/schema/beans"

我在 Spring 发现的 documentation

另一个是这样开头的:
 <beans:beans  xmlns="http://www.springframework.org/schema/mvc"

两者都工作正常。我观察到的一个区别是,如果您使用第二个定义,则必须以名称 beans 开头所有标签,如下所示:
<beans:import resource="hibernate-context.xml" /> 

否则可以写成
 <import resource="hibernate-context.xml" />

它们有什么主要区别?

最佳答案

这不是特定于 Spring 的,而是更多关于 XML 和命名空间的 - 引用在这里:http://www.w3schools.com/xml/xml_namespaces.asp , http://en.wikipedia.org/wiki/XML_namespace

简单总结一下:
第一个例子

<beans xmlns="http://www.springframework.org/schema/beans"

使 beans 模式成为此 xml 文件的默认值,这将允许引用此 beans 模式中的元素而无需命名空间前缀。那么这个模式在哪里定义 - 对模式的引用通常包含在 schemaLocations 属性中 -
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd" 

上面说的是 http://www.springframework.org/schema/beans的定义存在于相应的 .xsd 文件中

在你的第二个例子 -
<beans:beans  xmlns="http://www.springframework.org/schema/mvc" xmlns:beans="http://www.springframework.org/schema/beans"

您现在将 mvc 命名空间定义为默认命名空间,因此在这种情况下,可以在没有任何前缀的情况下引用 mvc 模式中的任何元素,但是如果要引用 bean 模式中的任何元素,则必须引用它使用 beans:前缀像 beans:import在您的样本中

关于spring - xmlns 定义在 spring 配置文件中有何不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11610790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com