一、通过@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());
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐