首页 > 解决方案 > 使用 Spring ConfigurationProperties 绑定到 Enum 和 List 属性的 Map

问题描述

我有以下配置对象

@Getter
@Setter
@Configuration
@ConfigurationProperties(prefix = "doginfo")
public class DogConfig {
    private Map<BreedEnum, List<String>> attributes;
}

在哪里BreedEnum

public enum BreedEnum {
    PITBULL, CORGI, SHIBA
}

我想将以下属性绑定application.propertiesDogConfig

doginfo.PITBULL.attributes[0]=attrP0
doginfo.PITBULL.attributes[1]=attrP1

doginfo.CORGI.attributes[0]=attrC0

当我的应用程序运行时,attributes配置为空。如何正确实现这种绑定?谢谢

标签: javaspringspring-bootmaven

解决方案


以下应该有效:

doginfo.attributes.PITBULL[0]=attrP0
doginfo.attributes.PITBULL[1]=attrP1

推荐阅读