7

要在 Spring XML 配置文件中使用 Spring Integration,我需要声明si命名空间,并提供 XML Schema 的模式位置:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:int="http://www.springframework.org/schema/integration"
   xsi:schemaLocation="http://www.springframework.org/schema/integration
      http://www.springframework.org/schema/integration/spring-integration.xsd
      http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans.xsd">

但是,根据文档,有两种模式可供选择:

从现在开始,用户必须始终声明最新的 XML 模式(当前为 2.1 版)。或者,他们可以使用无版本模式。通常,最好的选择是使用无版本命名空间,因为它们会自动使用最新可用的 Spring Integration 版本。

来自:http ://static.springsource.org/spring-integration/reference/htmlsingle/#2.1-schema-updated

为什么两者都有spring-integration.xsdspring-integration-2.1.xsd?我检查了两者,后者几乎是前者的三倍。

那么为什么文档说使用无版本模式更好呢?使用其中一个或另一个的后果是什么?spring-integration.xsd或者它只是一个spring-integration-2.1.xsd不同的错误?

4

1 回答 1

7

您不应该查看托管在 Internet 上的模式;模式分布在罐子中;META-INF下还有一个映射文件。

如您所见,我们始终将无版本模式映射到当前模式;因此我们建议始终在应用程序配置中使用无版本模式,否则每次升级时都必须更改文件;例如 2.2 不会使用 2.1 模式运行,但是,如果您在模式上不使用任何版本,则框架将负责使用正确的模式。

互联网上的无版本模式是旧的 1.0 模式;我们需要弄清楚如何才能改变这一点,但这并不简单,由于各种原因,

http\://www.springframework.org/schema/integration/spring-integration-1.0.xsd=org/springframework/integration/config/xml/spring-integration-1.0.xsd http\://www.springframework.org/schema/integration/spring-integration-2.0.xsd=org/springframework/integration/config/xml/spring-integration-2.0.xsd http\://www.springframework.org/schema/integration/spring-integration-2.1.xsd=org/springframework/integration/config/xml/spring-integration-2.1.xsd http\://www.springframework.org/schema/integration/spring-integration.xsd=org/springframework/integration/config/xml/spring-integration-2.1.xsd

于 2012-06-21T12:38:50.023 回答