一、通过@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

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐