好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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 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

查看更多关于使用springboot配置文件yml中的map形式的详细内容...

  阅读:49次