springboot读取.properties配置文件中的map和list类型配置参数方式
作者:码灵
这篇文章主要介绍了springboot读取.properties配置文件中的map和list类型配置参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
springboot读取.properties配置文件中的map和list类型配置参数
xxx.properties文件中存放一组配置参数,分别为map类型和list类型,做测试方式,读取配置参数。
1.配置文件xxx.properties
#map 第一种方式 data.person.name=zhangsan data.person.sex=man data.person.age=11 data.person.url=xxxxxxxx #map 第二种方式 data.person[name]=zhangsan data.person[sex]=man data.person[age]=11 data.person[url]=xxxxxxxx #list 第一种方式 data.list[0]=apple0 data.list[1]=apple1 data.list[2]=apple2 #list 第二种方式 data.list=apple0,apple1,apple2
2.注入配置信息
@Configuration @ConfigurationProperties(prefix = "data") //如果只有一个主配置类文件,@PropertySource可以不写 @PropertySource("classpath:xxx.properties") public class PersonConfig { /** * data.person.name * 这里map名需要和application.properties中的参数一致 */ private Map<String, String> person = new HashMap<>(); /** * data.list * 这里list名需要和application.properties中的参数一致 */ private List<String> list = new ArrayList<>(); /** * 编写get,set方法方便使用 */ public Map<String, String> getPerson() { return person; } public void setPerson(Map<String, String> person) { this.person = person; } public List<String> getList() { return list; } public void setList(List<String> list) { this.list = list; } }
3.使用
@Autowired private PersonConfig personConfig; @Test public void contextLoads() { Map<String, String> person = personConfig.getPerson(); List<String> list = personConfig.getList(); System.out.println("image:"+JSONObject.fromObject(person).toString()); System.out.println("list:"+ JSONArray.fromObject(list).toString()); } //输出结果 image:{"sex":"man","name":"zhangsan","age":"11","url":"xxxxxxxx"} list:["apple0","apple1","apple2"]
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。