服务器之家

服务器之家 > 正文

使用springboot配置文件yml中的map形式

时间:2021-11-24 11:47     来源/作者:MTone1

springboot配置文件yml的map形式

1、yml中的格式

?
1
2
tes:
  maps: {key1: 12,key2: 34}

或者

?
1
2
3
4
tes:
  maps:
    key1: 15
    key2: 2

2、创建一个类

然后创建对应类型的字段(注意下这个类的那两个注释了的注解)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package com.etc.lzg;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import java.util.Map;
@Data
@Component
//@Configuration //这个我这里虽然存在时能成功,不过我注释了也是可以的,这个是看网上有人写就跟着写上的
//@PropertySource(value = {"classpath:/application.yml"}, encoding = "utf-8") //有的人是写了这个注解能成功,但是我这边不能有这个注解,有的话,就连编译都会报错
@ConfigurationProperties(prefix = "tes")
public class MapTest {
    private Map<String, String> maps;
}

3、引用

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.etc.lzg;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class LzgApplicationTests {
    @Autowired
    private MapTest mapTest;
    
    @Test
    public void contextLoads() {
        System.out.println(mapTest.toString());
        System.out.println("key1="+mapTest.getMaps().get("key1"));
    }
}

4、打印

使用springboot配置文件yml中的map形式

SpringBoot yaml文件map集合使用

yaml文件配置

?
1
2
3
4
5
6
7
8
9
patform.config:
    maps:
        person_one:
            userName: A
            platform: A platform
        person_two:
            userName: B
            platform: B platform           

配置文件对应的bean

如果yaml文件不是在application.yaml,则注解需要配置locations属性

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@ConfigurationProperties(value="platform.config",locations="classpath:config/applicaion-platform.yaml")
public class ParamConfiguration{
    private Map<String,ParamInfo> maps =new LinkedHashMap<String,ParamInfo>();
 
    /**
    set ,get 方法  。。。。
    */
    public static class ParamInfo{
        private String username;
        private String platform;
 
        /**
        set ,get 方法  。。。。
        */
    }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/MTone1/article/details/91413539

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部