使用 Spring EL 将值设置为 lambda
Using Spring EL to set value as lambda
我想通过 Spring XML 配置创建 <map></map>
属性。这个 Map
应该包含一个 String
类型的键和一个 Predicate
类型的值。我现在可以创建一些指定的 类 实现 Predicate
但我想避免这个样板。
我想通过 Spring 表达式语言 传递 lambda 值。我读到了 FunctionalReferences Spring,但我还不能理解它。
实际实现:
<constructor-arg>
<map>
<entry key="FormElement#viewtype" value="#{<!-- what to do here -->}"></entry>
</map>
</constructor-arg>
了解链接文档我试过这样的事情:
<constructor-arg>
<map> <!-- Map<String, Predicate<Object>> -->
<entry key="FormElement#viewtype" value="{|object|$object == 'fooView'}"></entry>
</map>
</constructor-arg>
错误:<expression> expected, got '|'
我知道 表达式 语言需要一个表达式,但我真的很想在这里传递一个 lambda 作为值。
Javadoc 不正确; Lambdas 没有在 SpEL 中进行最终削减 commit here。
我想通过 Spring XML 配置创建 <map></map>
属性。这个 Map
应该包含一个 String
类型的键和一个 Predicate
类型的值。我现在可以创建一些指定的 类 实现 Predicate
但我想避免这个样板。
我想通过 Spring 表达式语言 传递 lambda 值。我读到了 FunctionalReferences Spring,但我还不能理解它。
实际实现:
<constructor-arg>
<map>
<entry key="FormElement#viewtype" value="#{<!-- what to do here -->}"></entry>
</map>
</constructor-arg>
了解链接文档我试过这样的事情:
<constructor-arg>
<map> <!-- Map<String, Predicate<Object>> -->
<entry key="FormElement#viewtype" value="{|object|$object == 'fooView'}"></entry>
</map>
</constructor-arg>
错误:<expression> expected, got '|'
我知道 表达式 语言需要一个表达式,但我真的很想在这里传递一个 lambda 作为值。
Javadoc 不正确; Lambdas 没有在 SpEL 中进行最终削减 commit here。