假设我有一个yml文件,例如:
foo:
bar1:
en: hello world
bar2:
nl: Hallo Wereld
我也有一个配置文件:
@Component
@ConfigurationProperties(prefix = "foo")
public class MyProperties {
private Map<LanguageEnum, String> greetings;
}
为了获得清晰的代码,我想将枚举定义为:
public enum LanguageEnum {
ENGLISH("en"),
DUTCH("nl");
private String key;
Languages(String key) {
this.key = key;
}
@Override
public String toString() {
return key;
}
}
但是Spring无法将我的枚举映射到枚举值,出现此错误:
无法绑定LanguageEnum
下的属性
更新应用程序的配置。以下值是有效的:
en
nl
如何根据我枚举中的某些函数告诉Spring解析yaml文件上的值?例如。 fromValue