Springboot项目获取配置文件中的Map和List值

我们在写项目的时候,有时候需要在配置文件中配置有些特性化配置,下面为大家介绍一下Map类型的获取。

我们都知道Map类型的数据是<Key,Value>形式的,那么也就是说,我们获取到配置文件中的key,那么对应的value值就会被拿到。

获取对应的Map值:

首先引入依赖:

	<!--增加读取配置文件中的map -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<version>2.2.0.RELEASE</version>
		</dependency>

写一个配置类:config

@Configuration // 标识这是一个配置类
@ConfigurationProperties(prefix = "data") // 读取前缀为 data 的内容
@PropertySource(value = { "classpath:application-prod.properties" }, encoding = "utf-8")
public class MapConfig {

	public Map<String, String> sxyd = new HashMap<String, String>();

	public Map<String, String> getSxyd() {
		return sxyd;
	}

	public void setSxyd(Map<String, String> sxyd) {
		this.sxyd = sxyd;
	}
}

@Configuration // 标识这是一个配置类
@ConfigurationProperties(prefix = “data”) // 读取前缀为 data 的内容
@PropertySource(value = { “classpath:application-prod.properties” }, encoding = “utf-8”)

注意:@ConfigurationProperties(prefix = “data”),配置的时候前缀必须为data否则扫描不到!(亲测)

@PropertySource扫描的配置文件

这几个注解不理解的可以去看官方文档

/**
* data.sxyd.name
* 这里map名需要和application.properties中的参数一致
**/

接下来就是在配置文件application-prod.properties中写map了

第一种
data.sxyd.-ni=1
data.sxyd.-wo=2
data.sxyd.-ta=3
data.sxyd.-tamen=4
data.sxyd.-women=5
第二种
data.sxyd[ni]=1
data.sxyd[wo]=2
data.sxyd[ta]=3
data.sxyd[tamen]=4
Map<String, String> sxyd = mapConfig.getSxyd();

通过我们写的配置类进行获取对应的key值,value值就可以获取到了。

获取对应的list值:

/**
     * data.list
     * 这里list名需要和application.properties中的参数一致
     */
    private List<String> list = new ArrayList<>();
 
**/

	public List<String> getList() {
        return list;
    }
 
    public void setList(List<String> list) {
        this.list = list;
    }

第一种
data.list[0]=zxc
data.list[1]=zxcv
data.list[2]=zxcvb
第二种
data.list=zxc,zxcv,zxcvb
List<String> list = mapConfig.getList();

通过我们写的配置类进行获取对应的list值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值