此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Framework 6.2.10spring-doc.cadn.net.cn

收藏投影

投影允许集合驱动子表达式的计算,结果是 一个新系列。投影的语法是.![projectionExpression].例如 假设我们有一份发明家名单,但想要他们出生的城市名单。 实际上,我们想要评估placeOfBirth.city对于发明人中的每个条目 列表。以下示例使用投影来执行此作:spring-doc.cadn.net.cn

// 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.Iterablejava.util.Map.使用贴图驱动投影时,投影表达式为 根据映射中的每个条目(表示为 JavaMap.Entry).结果 地图上的投影是一个列表,其中包含对投影的评估 表达式。spring-doc.cadn.net.cn

Spring 表达式语言还支持集合投影的安全导航。spring-doc.cadn.net.cn