我正在寻找如何确定Spring bean XML定义中命名空间的符号。我猜他们在Spring架构文件夹中,但我找不到它。例如,XML bean配置中的c:
,p:
,util:
,...是什么?
在哪里可以找到每个命名空间的架构?例如,我如何知道是否应该在http://www.springframework.org/schema/p
中使用xmlns:p="http://www.springframework.org/schema/p"
,其他命名空间在哪里?如何找到它们?
答案 0 :(得分:0)
您可以自己选择符号(p
,util
,jee
,beans
,...)。这些是名称空间,它们通过添加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.xsd。 http://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。