irpas技术客

Properties 配置 Map 、 List_望京小哥_properties 配置map

大大的周 7448

1. Properties 配置 Map 、 List

今天在工作中需要根据不同的组,配置不同的参数,写在apollo里,自然的想到了配一个map,但是之前没有配置过,所以这里做一下小节

1.1 添加配置类 @Configuration @ConfigurationProperties(prefix = "your-prefix") @Data public class MapConfig { private Map<Long, Integer> myMap = Maps.newHashMap(); private List<String> list = new ArrayList<>(); } @Configuration 表示它是一个配置类@ConfigurationProperties(prefix = "your-prefix") 这里prefix表示取前缀为 your-prefix的变量@Data 是 lombok的注解,因为这里需要 myMap 属性的 set 和 get方法

这里会有个问题,提示 @ConfigurationProperties 没有路径,需要配置如下依赖

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> 1.2 properties文件 <!--这里表示添加 key, value 为 32 : 0 的键值对--> your-prefix.myMap.32 = 0 your-prefix.list[0] = "1" your-prefix.list[1] = "2" 1.3 使用

加载会在项目启动时候进行,只需要在项目中,注入就行了

@Autowired private MapConfig mapConfig; 注意:maven依赖不能忘 2. Apollo配置 List 和 map

本来想着一顿操作猛如虎,然后被批了。 原因是我们项目用的是apollo,可以实时修改配置的值,实现热部署。所以今天把上面的配置类都删了,重新配置一个map,简单便捷。

2.1 Apollo简介

携程开源Apollo官网

2.2 配置List和Map <!--list配置--> apollo.my.list = 1,2 <!--map配置--> apollo.my.map = {1:2, 2:2, key:value}

使用方式

@Value("#{'${apollo.my.list}'.split(',')}") private List<Long> apolloList; @Value("#{${apollo.my.map}}") private Map<Long,Integer> apolloMap;

这里一个新的使用方式是 # 的使用,之前我们 @Value使用的时候,都是直接 @Value("${}")这种方式,这次涨知识了


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #properties #配置map #JAVA配置文件中配置 #map # #list