springboot配置文件配置map类型数据并读取使用

  • Post author:
  • Post category:其他




一、通过@Value注解实现

application.properties配置文件如下,注意不要有非法的字符,例如空格换行之类

extremity.region=	{"111":"PC","222":"APP","333":"微信"}

Apollo配置中心配置如下所示:

在这里插入图片描述

使用,在需要注入的类中添加@Value注解,将map注入,代码如下所示:

@Value("#{${extremity.region}}")
    Map<String,String>regionMap;

在业务代码中直接使用:

String source = regionMap.get(accessId);



二、通过配置类实现

配置文件如下所示,是将key-value键值对拆开:

province.region.111=PC
province.region.222=APP
province.region.333=微信

Apollo配置中心如下:

在这里插入图片描述

使用,先定义配置类,代码如下:

@Data
@Configuration
@ConfigurationProperties(prefix = "province")
public class NatureRegionMap {
    private Map<String,String> region = new HashMap<>();

    public Map getRegion(){
        return region;
    }

    public void setRegion(Map region){
        this.region = region;
    }
}

在需要用到的地方注入region,如下所示:

@Autowired
	NatureRegionMap natureRegionMap;
Map<String,String>regionMap = natureRegionMap.getRegion();
					String region = regionMap.get(syncDataLog.getAccessId());



版权声明:本文为qq_36933421原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。