• 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", ""));
        }
    
    }
  • 相关阅读:
    JSP和Servlet的相同点和不同点、有何联系。
    Java泛型
    HttpURLConnection与HttpClient比较和使用示例
    Mybatis中的#和$的区别
    MySQL_第三方数据库引擎_tokudb
    mysql的并发处理机制_上篇
    SQL SERVER 自动生成 MySQL 表结构及索引 的建表SQL
    SQL SERVER大话存储结构(6)_数据库数据文件
    SQL SERVER大话存储结构(4)_复合索引与包含索引
    基于binlog来分析mysql的行记录修改情况(python脚本分析)
  • 原文地址:https://www.cnblogs.com/carlo/p/11027530.html
Copyright © 2020-2023  润新知