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

文章目录

  • 一、通过@Value注解实现
  • 二、通过配置类实现

一、通过@Value注解实现

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

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

Apollo配置中心配置如下所示:
在这里插入图片描述
使用,在需要注入的类中添加@Value注解,将map注入,代码如下所示:

@Value("#{${extremity.region}}")
    MapregionMap;

在业务代码中直接使用:

String source = regionMap.get(accessId);

二、通过配置类实现

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

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

Apollo配置中心如下:
springboot配置文件配置map类型数据并读取使用_第1张图片
使用,先定义配置类,代码如下:

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

    public Map getRegion(){
        return region;
    }

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

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

@Autowired
	NatureRegionMap natureRegionMap;
MapregionMap = natureRegionMap.getRegion();
					String region = regionMap.get(syncDataLog.getAccessId());

你可能感兴趣的:(工作记录,java,spring,boot)