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

 更新时间:2022年07月08日 10:13:49   作者:changerzhuo  
这篇文章主要介绍了springboot加载一个properties文件转换为map方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

加载一个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,进行如下操作

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

相关文章

  • Spring注解中@Configuration和@Component到底有啥区别

    Spring注解中@Configuration和@Component到底有啥区别

    之前一直搞不清@Component和@Configuration这两个注解到底有啥区别,一直认为被这两修饰的类可以被Spring实例化嘛,最近终于弄明白了,这篇文章主要给大家介绍了关于Spring注解中@Configuration和@Component到底有啥区别的相关资料,需要的朋友可以参考下
    2023-04-04
  • java.exe和javaw.exe的区别及使用方法

    java.exe和javaw.exe的区别及使用方法

    这篇文章主要介绍了java.exe和javaw.exe的区别及使用方法,需要的朋友可以参考下
    2014-04-04
  • Java循环终止的实现方式总结

    Java循环终止的实现方式总结

    循环是一种重复执行一段代码的结构,Java提供了四种主要的循环结构,本文主要来和大家介绍一下Java循环终止的实现方式,有需要的小伙伴可以参考一下
    2023-10-10
  • MyBatis动态SQL标签的用法详解

    MyBatis动态SQL标签的用法详解

    这篇文章主要介绍了MyBatis动态SQL标签的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • SpringBoot详细列举常用注解的说明

    SpringBoot详细列举常用注解的说明

    在开发SpringBoot程序的过程中,有可能与其他业务系统进行对接开发,获取封装公共的API接口等等,下面这篇文章主要给大家介绍了关于SpringBoot常见的注解的相关资料,需要的朋友可以参考下
    2022-06-06
  • Java sort集合排序的两种方式解析

    Java sort集合排序的两种方式解析

    这篇文章主要介绍了Java sort集合排序的两种方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 在安卓系统中插入表情到光标位置的代码详解

    在安卓系统中插入表情到光标位置的代码详解

    这篇文章主要介绍了在安卓系统中插入表情到光标位置的代码详解,利用Java代码在EditText控件中实现,需要的朋友可以参考下
    2015-07-07
  • 安装elasticsearch-analysis-ik中文分词器的步骤讲解

    安装elasticsearch-analysis-ik中文分词器的步骤讲解

    今天小编就为大家分享一篇关于安装elasticsearch-analysis-ik中文分词器的步骤讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • JavaFX程序初次运行创建数据库并执行建表SQL详解

    JavaFX程序初次运行创建数据库并执行建表SQL详解

    这篇文章主要介绍了JavaFX程序初次运行创建数据库并执行建表SQL详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 基于序列化存取实现java对象深度克隆的方法详解

    基于序列化存取实现java对象深度克隆的方法详解

    本篇文章是对序列化存取实现java对象深度克隆的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论