在 Spring Integration2.0 中,消息转换器的转换方法不再能够返回`null`。返回`null`将导致一个异常,因为消息转换器应该始终被期望将每个源消息转换为有效的目标消息。换句话说,消息转换器不应该被用作消息过滤器,因为它有一个专用的`<filter>`选项。但是,如果你确实需要这种类型的行为(其中组件可能会返回`null`,这不应被视为错误),则可以使用服务激活器。其`requires-reply`值默认为`false`,但可以设置为`true`,以便为`null`抛出异常返回值,就像转换器一样。
#### [](#transformers-and-spring-expression-language-spel)变形金刚与 Spring 表达式语言
#### [](#transformers-and-spring-expression-language-spel)转换器与 Spring 表达式语言
与路由器、聚合器和其他组件一样,在 Spring Integration2.0 中,只要转换逻辑相对简单,变压器也可以从[SPEL 支持](https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#expressions)中受益。下面的示例展示了如何使用 SPEL 表达式:
与路由器、聚合器和其他组件一样,在 Spring Integration2.0 中,只要转换逻辑相对简单,转换器也可以从[SPEL 支持](https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#expressions)中受益。下面的示例展示了如何使用 SPEL 表达式: