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", ""));
        }
    
    }
  • 相关阅读:
    备战考研算法笔记(四)快速排序
    VMware安装
    使用 Vagrant 打造跨平台开发环境
    类加载器,注解,动态代理
    IE兼容forEach/map/every/some等新方法
    不得不看的Java代码性能优化总结
    关于Oracle误操作--数据被Commit后的数据回退(闪回)
    JPA与Hibernate的关系
    Jenkins-GitHub-Gradle自动构建项目
    过滤器Filter
  • 原文地址:https://www.cnblogs.com/carlo/p/11027530.html
Copyright © 2011-2022 走看看