Spring架构文件夹& Spring XML命名空间

时间:2016-10-13 03:26:48

标签: spring schema xml-namespaces

我正在寻找如何确定Spring bean XML定义中命名空间的符号。我猜他们在Spring架构文件夹中,但我找不到它。例如,XML bean配置中的c:p:util:,...是什么?

在哪里可以找到每个命名空间的架构?例如,我如何知道是否应该在http://www.springframework.org/schema/p中使用xmlns:p="http://www.springframework.org/schema/p",其他命名空间在哪里?如何找到它们?

1 个答案:

答案 0 :(得分:0)

您可以自己选择符号(putiljeebeans,...)。这些是名称空间,它们通过添加xmlns属性来起作用,如:

<beans xmlns:util="http://www.springframework.org/schema/util">
    <!-- Content -->
</beans>

在这种情况下,我们说util util:将由util模式使用,因此您必须使用<util:properties>来访问此命名空间中的内容。但你也可以说xmlns:foobar="http://www.springframework.org/schema/util"在这种情况下你可以使用像<foobar:properties>这样的东西。

但您还需要使用xsi:schemaLocation提供该命名空间的XSD位置:

<beans xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
    <!-- Content -->
</beans>

在这种情况下,http://www.springframework.org/schema/util的XSD位于http://www.springframework.org/schema/util/spring-util.xsdhttp://www.springframework.org/schema/util部分只是一个标签,也可以选择。唯一需要匹配的是XSD架构。

有关XML命名空间的更多信息,请查看this question and its answers

可以在他们的文档(33. XML Schema-based configuration)中找到Spring的常见XML模式列表。但是,这些只列出了核心模式。有些项目(如Spring Web Services,......)有自己的命名空间,如:

您可以访问Index of /schema找到整个列表。但是,正如我所提到的,其中大多数仅用于特定的Spring项目,不要只导入它们,阅读具体文档以找出您需要的内容。有关构造函数名称空间(c:)的文档可以在7. The IoC container

中找到