【发布时间】:2020-10-28 17:50:36
【问题描述】:
首先,请考虑我作为开发人员和 Spring 用户的初学者。 我正在寻找解决这个问题的方法:
有一个由 JsonNode 对象填充的给定列表,称为属性。我必须找到哪个是针对给定的布尔表达式评估 true 的。我想在上下文中注册一个集合,对其进行迭代并查找是否有任何属性使用 SpEl 评估为真,因此我不必每次都进行这种非常昂贵的上下文创建。
您知道如何更快地做到这一点吗? (代码是虚拟的。问题是真实的。)
//given
List<JsonNode> attributes;
attributes
.stream()
.anyMatch(attribute -> {
ExpressionParser parser = new SpelExpressionParser();
Expression exp = parser.parseExpression("attribute.name == 'John Doe'");
EvaluationContext ctx = new StandardEvaluationContext(attribute);
return exp.getValue(ctx, Boolean.class);
});
感谢您的帮助!
【问题讨论】:
标签: java spring spring-boot spring-el