对于最新的稳定版本,请使用 Spring Framework 6.2.10! |
收藏投影
投影允许集合驱动子表达式的计算,结果是一个新集合。投影的语法是.![projectionExpression]
. 例如 假设我们有一份发明家名单,但想要他们出生的城市名单。实际上,我们想评估placeOfBirth.city
对于发明人中的每个条目 列表。 以下示例使用投影来执行此作:
-
Java
-
Kotlin
// evaluates to ["Smiljan", "Idvor"]
List placesOfBirth = parser.parseExpression("members.![placeOfBirth.city]")
.getValue(societyContext, List.class);
// evaluates to ["Smiljan", "Idvor"]
val placesOfBirth = parser.parseExpression("members.![placeOfBirth.city]")
.getValue(societyContext) as List<*>
数组和任何实现java.lang.Iterable
或java.util.Map
. 当使用地图驱动投影时,投影表达式是根据地图中的每个条目(表示为 JavaMap.Entry
). 结果在地图上的投影是一个列表,其中包含对投影的评估表达式对每个地图条目。
Spring 表达式语言还支持集合投影的安全导航。 有关详细信息,请参阅安全集合选择和投影。 |