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,进行如下操作
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
@Transaction,@Async在同一个类中注解失效的原因分析及解决
这篇文章主要介绍了@Transaction,@Async在同一个类中注解失效的原因分析及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-12-12springBoot 启动指定配置文件环境多种方案(最新推荐)
springBoot 启动指定配置文件环境理论上是有多种方案的,一般都是结合我们的实际业务选择不同的方案,比如,有pom.xml文件指定、maven命令行指定、配置文件指定、启动jar包时指定等方案,今天我们一一分享一下,需要的朋友可以参考下2023-09-09SpringBoot使用@ControllerAdvice全局异常处理
这篇文章主要介绍了SpringBoot使用@ControllerAdvice全局异常处理,异常处理是非常重要的一部分,它可以帮助我们捕获并处理应用程序中出现的异常情况,提高应用程序的健壮性和可靠性,需要的朋友可以参考下2023-07-07解决idea报错 Connot resolve column 的问题
这篇文章主要介绍了解决idea报错 Connot resolve column 的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-02-02
最新评论