springboot多環境下的自定義配置文件,並讀取到常量


import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@ConfigurationProperties
@PropertySource("classpath:env/${spring.profiles.active}/constant.properties")
@Component("constantProperties")
public class ConstantProperties {
    
    /** etl接口的地址 */
    public static String ELT_ENGINE_TRIGGER_URL;
    
    public static String PLATFORM_SYN_URL;
    
    public static String PLATFORM_PARAM_SYN_URL;
    
    public static String SYN_GAME_RATE_FILE_PATH;
    
    public static String SYN_GAME_RATE_SHELL;
    
    public static boolean IZ_PUBLISHED;
    
    
    // set注入把 eltEngineTriggerUrl 屬性注入,然后賦值給我們定義的靜態變量,完成了配置文件賦值給靜態常量
    // set 方法一定不能是static的,不然不能注入
    // 而且這個變量名字和properties 文件中的對應,經過測試發現不區分大小寫、並會忽略下划線_符號
    public void setEltEngineTriggerUrl(String eltEngineTriggerUrl) {
        ConstantProperties.ELT_ENGINE_TRIGGER_URL = eltEngineTriggerUrl;
    }

    public void setPLATFORM_SYN_URL(String platform_syn_url) {
        ConstantProperties.PLATFORM_SYN_URL = platform_syn_url;
    }

    public void setPlatform_param_syn_url(String platform_param_syn_url) {
        ConstantProperties.PLATFORM_PARAM_SYN_URL = platform_param_syn_url;
    }

    public void setSYN_GAME_RATE_FILE_PATH(String sYN_GAME_RATE_FILE_PATH) {
        SYN_GAME_RATE_FILE_PATH = sYN_GAME_RATE_FILE_PATH;
    }

    public void setSYN_GAME_RATE_SHELL(String sYN_GAME_RATE_SHELL) {
        SYN_GAME_RATE_SHELL = sYN_GAME_RATE_SHELL;
    }

    public void setIZ_PUBLISHED(String iZ_PUBLISHED) {
        IZ_PUBLISHED = Boolean.parseBoolean(iZ_PUBLISHED);
    }
    
}
會根據不同的 spring.profiles.active 獲取不同的properties文件,然后其他地方就可以像 平時那樣 ConstantProperties.PLATFORM_SYN_URL 用了
1、set注入把 eltEngineTriggerUrl 屬性注入,然后賦值給我們定義的靜態變量,完成了配置文件賦值給靜態常量
2、set 方法一定不能是static的,不然不能注入
3、而且這個變量名字和properties 文件中的對應,經過測試發現不區分大小寫、並會忽略下划線_符號
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM