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", ""));
        }
    
    }
  • 相关阅读:
    Quora 用了哪些技术(转)
    Instagram的技术探索2(转)
    Sharding & IDs at Instagram(转)
    2010“架构师接龙”问答--杨卫华VS赵劼(转)
    架构师接龙 汇总(转)
    如何成为一名软件架构师(转)
    网站架构资料集(转)
    技术好重要吗?
    洞洞那么大-悲伤那么小
    教你玩转XSS漏洞
  • 原文地址:https://www.cnblogs.com/carlo/p/11027530.html
Copyright © 2011-2022 走看看