目录
  • 加载一个properties文件转换为map
    • 1.创建一个properties文件
    • 2.在java中将该properties文件转换为map
  • properties配置文件出现乱码

    加载一个properties文件转换为map

    springboot中比较常见的获取properties中的值,就是直接在字段上面添加@Value的属性. 

    但有时候我们不确定key有多少,但是会有一定的规律(这个规律是根据业务来定的,如下),这时候我们就可以考虑将properties中的信息转换为一个map,然后根据key的规律操作响应的数据

    1.创建一个properties文件

    properties文件内容

    # 配置格式严格按照如下设置; app1, app2为具体的模块名称
    wechat.data.app1.appId=appid1
    wechat.data.app1.secret=secret1
     
    wechat.data.app2.appId=appid2
    wechat.data.app2.secret=
     
    wechat.data.app3.appId=appid3
    wechat.data.app3.secret=secret3

    2.在java中将该properties文件转换为map

    package com.bz.wes.login.loginapi.config; 
    import lombok.Data;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.context.annotation.PropertySource;
    import org.springframework.stereotype.Component; 
    import java.util.HashMap;
    import java.util.Map;
     
    /**
     * @author changez
     * @desc
     * @datetime 2019/9/25 17:06
     */
    @Data
    @Component
    // 指定配置文件
    @PropertySource("classpath:wechatInfo.properties")
    @ConfigurationProperties(prefix = "wechat")
    public class WechatPropertiesConfig {
     
        // prefix的值+data变量名为properties key的前一部分, 将key剩余的部分作为map的key, value作为map的value
        public Map<String, String> data = new HashMap();
    }

    properties配置文件出现乱码

    如果使用properties作为配置文件

    那么会出现字符乱码,因为idea默认字符集是utf-8,properties默认是使用ascll码,所以需要进行转换

    settings中搜索file encoidings,进行如下操作

    springboot加载一个properties文件转换为map方式

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

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。