命名空间支持

您可以使用直接映射到企业集成术语和概念的 XML 元素来配置 Spring 集成组件。在许多情况下,元素名称与企业集成模式书中的名称相匹配。

要在您的 Spring 配置文件中启用 Spring 集成的核心命名空间支持,请在您的顶级“beans”元素中添加以下命名空间引用和模式映射

<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/beans
           https://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/integration
           https://www.springframework.org/schema/integration/spring-integration.xsd">

(我们强调了与 Spring 集成相关的行。)

您可以在“xmlns:”之后选择任何名称。为了清晰起见,我们使用int(代表集成),但您可能更喜欢其他缩写。另一方面,如果您使用 XML 编辑器或 IDE 支持,自动完成功能的可用性可能会说服您为了清晰起见而保留更长的名称。或者,您可以创建使用 Spring 集成模式作为主要命名空间的配置文件,如下例所示

<beans:beans xmlns="http://www.springframework.org/schema/integration"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:beans="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           https://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/integration
           https://www.springframework.org/schema/integration/spring-integration.xsd">

(我们强调了与 Spring 集成相关的行。)

使用此替代方法时,Spring 集成元素不需要前缀。另一方面,如果您在同一个配置文件中定义一个通用 Spring bean,则 bean 元素需要一个前缀(<beans:bean …​/>)。由于通常最好对配置文件本身进行模块化(基于职责或架构层),您可能会发现,在以集成为中心的配置文件中使用后一种方法是合适的,因为这些文件中很少需要通用 bean。为了本文档的目的,我们假设集成命名空间是主要的。

Spring 集成提供了许多其他命名空间。实际上,每个提供命名空间支持的适配器类型(JMS、文件等)都在单独的模式中定义其元素。为了使用这些元素,请使用xmlns条目和相应的schemaLocation映射添加必要的命名空间。例如,以下根元素显示了其中一些命名空间声明

<?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"
  xmlns:int-file="http://www.springframework.org/schema/integration/file"
  xmlns:int-jms="http://www.springframework.org/schema/integration/jms"
  xmlns:int-mail="http://www.springframework.org/schema/integration/mail"
  xmlns:int-ws="http://www.springframework.org/schema/integration/ws"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
    https://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/integration
    https://www.springframework.org/schema/integration/spring-integration.xsd
    http://www.springframework.org/schema/integration/file
    https://www.springframework.org/schema/integration/file/spring-integration-file.xsd
    http://www.springframework.org/schema/integration/jms
    https://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd
    http://www.springframework.org/schema/integration/mail
    https://www.springframework.org/schema/integration/mail/spring-integration-mail.xsd
    http://www.springframework.org/schema/integration/ws
    https://www.springframework.org/schema/integration/ws/spring-integration-ws.xsd">
 ...
</beans>

本参考手册在相应的章节中提供了各种元素的具体示例。这里,要认识到的主要内容是每个命名空间 URI 和模式位置的命名一致性。