application.yml
conv:
map:
ė: e
ü: u
somekey: somevalue
###other properties omitted for brevity
Config.java
package foo.bar;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import java.util.HashMap;
import java.util.Map;
@Getter
@Setter
@Configuration
@ConfigurationProperties(prefix = "conv")
public class Config {
private Map<String, String> map = new HashMap<>();
/*other properties*/
}
在运行时,地图属性不会填充所有 3 个条目。它是最终出现在映射中的最后一个映射条目(somekey:somevalue)。它也是相同的条目,其键没有扩展拉丁字符,例如 ė 和 ü。 但是,如果前两个映射条目的键和值像这样交换
conv:
map:
e: ė
u: ü
somekey: somevalue
生成的映射将恰好包含三个记录,这就带来了问题 - 如果我仍然想将扩展拉丁字符保留为映射中的键,如何处理它们?