• 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 文件中的对应,经过测试发现不区分大小写、并会忽略下划线_符号
     
  • 相关阅读:
    设计人员应该看的15个很酷的 iOS 8 设计
    jQuery 人脸识别插件,支持图片和视频
    无奇不有,20款国外便携式智能手机充电器
    CSS3 过渡特性创建信封效果的联系表单
    Converse.js – 开源的 XMPP 聊天客户端
    推荐12个创建响应式布局的优秀网格框架
    使用 jQuery & CSS3 实现优雅的手风琴效果
    Walkway.js – 用线条制作简约的 SVG 动画
    20套最新的扁平界面设计素材【免费下载】
    神奇的滚动动画,30个视差滚动网站设计
  • 原文地址:https://www.cnblogs.com/patrick-king/p/12097945.html
Copyright © 2020-2023  润新知