zoukankan      html  css  js  c++  java
  • maven工程仿springboot手写代码区分开发测试生产

    读取代码:

    package com.jz.compute.mc.v2.config;
    
    import java.util.Enumeration;
    import java.util.ResourceBundle;
    import java.util.concurrent.ConcurrentHashMap;
    import java.util.concurrent.ConcurrentMap;
    
    public class PropertiesConfig {
    
        public static volatile ConcurrentMap<String, String> applicationMap = new ConcurrentHashMap<>();
        private final static String dev = "dev";
        private final static String test = "test";
        private final static String prod = "prod";
    
        private PropertiesConfig() {
        }
    
        public static ConcurrentMap<String, String> getInstance() {
            return getInstance("application-");
    
        }
    
        public static ConcurrentMap<String, String> getInstance(String filePrefix) {
            if (applicationMap.size() == 0) {
                synchronized (PropertiesConfig.class) {
                    if (applicationMap.size() == 0) {
                        ResourceBundle application = ResourceBundle.getBundle("application");
                        ResourceBundle applicationActive = null;
                        String profilesActive = application.containsKey("profiles.active")
                                ? application.getString("profiles.active") : "";
                        if (PropertiesConfig.prod.equals(profilesActive)) {
                            applicationActive = ResourceBundle.getBundle(filePrefix + "prod");
                        } else if (PropertiesConfig.test.equals(profilesActive)) {
                            applicationActive = ResourceBundle.getBundle(filePrefix + "test");
                        } else if (PropertiesConfig.dev.equals(profilesActive)) {
                            applicationActive = ResourceBundle.getBundle(filePrefix + "dev");
                        } else {
                        }
    
                        Enumeration<String> keys = application.getKeys();
                        while (keys.hasMoreElements()) {
                            String key = keys.nextElement();
                            applicationMap.put(key, application.getString(key));
                        }
                        if (null != applicationActive) {
                            keys = applicationActive.getKeys();
                            while (keys.hasMoreElements()) {
                                String key = keys.nextElement();
                                applicationMap.put(key, applicationActive.getString(key));
                            }
                        }
                    }
                }
            }
            return applicationMap;
        }
    
        public static void main(String[] args) {
            System.out.println(PropertiesConfig.getInstance().getOrDefault("eicost.url", ""));
        }
    
    }
  • 相关阅读:
    利用Selenium自动化web测试
    【译】.NET中六个重要的概念:栈、堆、值类型、引用类型、装箱和拆箱
    SlickGrid example 8:折线图
    SlickGrid example 7:鼠标事件
    SlickGrid example 6:Ajax加载
    SlickGrid example 5:带子项的展开收缩
    SlickGrid example 4: 过滤
    CentOS下配置iptables防火墙 linux NAT(iptables)配置
    ntp server
    parted
  • 原文地址:https://www.cnblogs.com/carlo/p/11027530.html
Copyright © 2011-2022 走看看