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", ""));
    }

}

 

posted @ 2019-06-15 14:35  carlo-z  阅读(429)  评论(0编辑  收藏  举报