Properties 配置 Map 、 List

本文介绍了如何在Spring Boot中使用@ConfigurationProperties配置Map和List,初始尝试使用配置类,随后转向更灵活的Apollo配置。重点讲解了配置文件的编写和Apollo的使用方法,以及新知识点:#符号在@Value中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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<>();
}
  1. @Configuration 表示它是一个配置类
  2. @ConfigurationProperties(prefix = "your-prefix") 这里prefix表示取前缀为 your-prefix的变量
  3. @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("${}")这种方式,这次涨知识了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值