springboot 加載一個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();
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章