使用springboot配置文件yml中的map形式
时间:2022-11-18 10:10:53|栏目:JAVA代码|点击: 次
springboot配置文件yml的map形式
1、yml中的格式
tes: maps: {key1: 12,key2: 34}
或者
tes: maps: key1: 15 key2: 2
2、创建一个类
然后创建对应类型的字段(注意下这个类的那两个注释了的注解)
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、引用
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文件配置
patform.config: maps: person_one: userName: A platform: A platform person_two: userName: B platform: B platform
配置文件对应的bean
如果yaml文件不是在application.yaml,则注解需要配置locations属性
@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 方法 。。。。 */ } }
上一篇:java时间相关处理小结
栏 目:JAVA代码
下一篇:没有了
本文标题:使用springboot配置文件yml中的map形式
本文地址:http://www.codeinn.net/misctech/219336.html