这篇文章主要介绍了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,进行如下操作
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程学习网。
沃梦达教程
本文标题为:springboot加载一个properties文件转换为map方式
基础教程推荐
猜你喜欢
- Java数据结构之对象比较详解 2023-03-07
- Java并发编程进阶之线程控制篇 2023-03-07
- java实现多人聊天系统 2023-05-19
- java基础知识之FileInputStream流的使用 2023-08-11
- ConditionalOnProperty配置swagger不生效问题及解决 2023-01-02
- Java实现线程插队的示例代码 2022-09-03
- JDK数组阻塞队列源码深入分析总结 2023-04-18
- Java实现查找文件和替换文件内容 2023-04-06
- springboot自定义starter方法及注解实例 2023-03-31
- Java文件管理操作的知识点整理 2023-05-19