gpt4 book ai didi

java - 使用 spring el 将值获取到 map 中

转载 作者:行者123 更新时间:2023-11-30 07:07:57 27 4
gpt4 key购买 nike

我在属性文件中有一个值

currency.codes=US:USD,IN:INR,AU:AUD

我希望使用 spring el 将这些值放入具有(键,值)对(例如(美国,美元)等)的 map 中我正在尝试类似的事情

@Value("#{'${currency.codes}'.split(',|:')}")
private Map<String, String> myMap;

这显然行不通。但如果有人能用这样最少的代码或任何其他替代解决方案向我建议,我将不胜感激。我需要将很多这样的属性放入 map 中。-TIA

最佳答案

您可以编写静态辅助方法和 use that in your expression降低 SpEL 代码的复杂性。

public class MapDecoder {
public static Map<String, String> decodeMap(String value) {
Map<String, String> map = new LinkedHashMap<>();
String[] pairs = value.split(",");
for (String pair : pairs) {
String[] parts = pair.split(":");
map.put(parts[0], parts[1]);
}
return map;
}
}

public class MyBean {
@Value("#{T(mypackage.MapDecoder).decodeMap('${currency.codes}')}")
private Map<String, String> myMap;
}

关于java - 使用 spring el 将值获取到 map 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39763450/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com