Springboot 如何指定獲取自己寫的配置properties文件的值

獲取yml的可以參考這篇:

Springboot 指定獲取出 yml文件裡面的配置值

www.jb51.net/article/217901.htm

直接進入正題:

先創建一個 配置文件test_config.properties:

test.number=123456789

接下來獲取test.number對應的值

這裡我們采取最直接的方式(也可以通過註解獲取),特意準備瞭個工具類 PropertiesUtil.java :

package com.test.webflux.util; 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.StringUtils; 
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Properties;
 
/**
 * 配置文件讀取
 *
 * @Author: JCccc
 * @Des: ElegantDay
 */
public class PropertiesUtil { 
    private static Logger log = LoggerFactory.getLogger(PropertiesUtil.class);
    private static Properties props;
//項目根目錄文件夾內讀取
        // static {
        //     if (props == null) {
        //         props = new Properties();
        //         try {
        //             props.load(new FileInputStream("/testDemo/config/test_config.properties"));
        //         } catch (IOException e) {
        //             log.error("配置文件讀取異常", e);
        //         }
        //     }
        // }
 
//resource文件夾內讀取
       static {
           String fileName = "test_config.properties";
           props = new Properties();
           try {
               props.load(new InputStreamReader(PropertiesUtil.class.getClassLoader().getResourceAsStream(fileName), "UTF-8"));
           } catch (IOException e) {
               log.error("配置文件讀取異常", e);
           }
       }
    /**
     * 根據配置文件中的key獲取value
     * @param key
     * @return
     */
    public static String getProperty(String key) {
        String value = props.getProperty(key.trim());
        if (StringUtils.isEmpty(value)) {
            return null;
        }
        return value.trim();
    }
    /**
     * 根據配置文件中的key獲取value (當獲取不到值賦予默認值)
     * @param key
     * @param defaultValue
     * @return
     */
    public static String getProperty(String key, String defaultValue) {
        String value = props.getProperty(key.trim());
        if (StringUtils.isEmpty(value)) {
            value = defaultValue;
        }
        return value.trim();
    }
    public static void main(String[] args) {
        System.out.println("配置文件中有key&value:"+PropertiesUtil.getProperty("test.number"));
        System.out.println("配置文件無有key&value,賦予默認值"+PropertiesUtil.getProperty("test.numberNone","默認值 JCccc"));
    }
}

OK,測試下工具類的main方法:

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: