springboot读取.properties配置文件中的map和list类型配置参数

.properties文件中存放一组配置参数,分别为map类型和list类型,做测试方式,读取配置参数。

1、配置文件application.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、写一个PersonConfig类,用来读取配置信息

@Configuration
@ConfigurationProperties(prefix = "data")
//如果只有一个主配置类文件,@PropertySource可以不写
@PropertySource("classpath:application.properties")
public class PersonConfig {

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


    /**
     * 编写get,set方法方便使用
     */
    public Map getPerson() {
        return person;
    }

    public void setPerson(Map person) {
        this.person = person;
    }

    public List getList() {
        return list;
    }

    public void setList(List list) {
        this.list = list;
    }
}

3、测试类测试

    @Autowired
    private PersonConfig personConfig;

    @Test
    public void contextLoads() {

        Map person = personConfig.getPerson();
        List 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"]

 

你可能感兴趣的:(springboot)