1. 程式人生 > 實用技巧 >SpringBoot獲取不到application.properties的值

SpringBoot獲取不到application.properties的值

導讀

  最近在搭建訊息閘道器服務,因為裡面用到了設計模式,啟動的時候,沒有被Spring管理到,使用@Value(${})遲遲獲取不到application.properties裡的值,然後手寫一個工具類,其他地方呼叫的時候,只需要從工具類中獲取key即可。

工具類

package com.ybchen.smsgateway.config;

import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PropertiesLoaderUtils;
import org.springframework.stereotype.Component; import java.io.IOException; import java.util.Properties; /** * @ClassName:SystemConfig * @Description:系統配置類 * @Author:chenyb * @Date:2020/12/2 4:11 下午 * @Versiion:1.0 */ @Component public class SystemConfig { private static Properties props ;
public SystemConfig(){ try { Resource resource = new ClassPathResource("/application.properties"); //讀取那個配置檔案 props = PropertiesLoaderUtils.loadProperties(resource); } catch (IOException e) { e.printStackTrace(); } } public static String getProperty(String key){
return props == null ? null : props.getProperty(key); } public static String getProperty(String key,String defaultValue){ return props == null ? null : props.getProperty(key, defaultValue); } public static Properties getProperties(){ return props; } }

呼叫

SystemConfig.getProperty("wx.appID")