我使用的spring评估语言如下:
Map<String, Object> bigMap = loader.loadBigMap();
StandardEvaluationContext context = new StandardEvaluationContext();
context.setVariables(bigMap);
我的问题是bigmap中包含的大部分数据都没有被使用。相反,我更希望通过将函数传递给求值上下文来延迟加载所需的内容,例如:
Function<String, Object> lazyloader = name -> loader.loadForName(name);
StandardEvaluationContext context = new StandardEvaluationContext();
context.setVariables(lazyloader);
但我找不到该怎么做。有什么建议吗?
1条答案
按热度按时间wljmcqd81#
你不能用lambda来实现它-spel函数必须是静态方法。
使用
Class.getDeclaredMethod(...)
获取方法的引用。