我想创建一个<map></map>
属性通过 Spring XML 配置。这个Map
应该持有 String
类型的 key 和类型为 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 .
关于java - 使用 Spring EL 将值设置为 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50797608/