读取代码:

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

maven工程仿springboot手写代码区分开发测试生产的更多相关文章

  1. ClownFish:比手写代码还快的通用数据访问层

    http://www.cnblogs.com/fish-li/archive/2012/07/17/ClownFish.html 阅读目录 开始 ClownFish是什么? 比手写代码还快的执行速度 ...

  2. SpringBoot-基于Maven工程使用SpringBoot

    Spring Boot SpringBoot是一个社区反馈推动的项目.SpringBoot可以说是至少五年来Spring乃至整个Java社区最有影响力的项目之一.SpringBoot主要包括以下特性: ...

  3. 前端面试手写代码——call、apply、bind

    1 call.apply.bind 用法及对比 1.1 Function.prototype 三者都是Function原型上的方法,所有函数都能调用它们 Function.prototype.call ...

  4. 手写代码自动实现自动布局,即Auto Layout的使用

    手写代码自动实现自动布局,即Auto Layout的使用,有需要的朋友可以参考下. 这里要注意几点: 对子视图的约束,若是基于父视图,要通过父视图去添加约束. 对子视图进行自动布局调整,首先对UIVi ...

  5. 如果选择构建ui界面方式,手写代码,xib和StoryBoard间的博弈

    代码手写UI这种方法经常被学院派的极客或者依赖多人合作的大型项目大规模使用. 大型多人合作项目使用代码构建UI,主要是看中纯代码在版本管理时的优势,检查追踪改动以及进行代码合并相对容易一些. 另外,代 ...

  6. .netER的未来路,关于基础是否重要和应该自己手写代码吗?

    http://www.cnblogs.com/onepiece_wang/p/5558341.html#!comments 引用"基础知识的学习,一开始可能是背书,但是在后续若干年的工作过程 ...

  7. 手写代码UI,xib和StoryBoard间的的优劣比较

    在UI制作方面,逐渐分化三种主要流派:使用代码手写UI:使用单个xib文件组织viewController或者view:使用StoryBoard来通过单个或很少的几个文件构建UI.三种方式各有优劣,也 ...

  8. UI到底应该用xib/storyboard完成,还是用手写代码来完成?

    UI到底应该用xib/storyboard完成,还是用手写代码来完成? 文章来源:http://blog.csdn.net/libaineu2004/article/details/45488665 ...

  9. 2019前端面试系列——JS高频手写代码题

    实现 new 方法 /* * 1.创建一个空对象 * 2.链接到原型 * 3.绑定this值 * 4.返回新对象 */ // 第一种实现 function createNew() { let obj ...

随机推荐

  1. django小知识(1)

    聚合查询 关键字:aggregate from django.db.models import Max,Min,Count,Sum,Avg 分组查询 关键字:annotate 1.最简单的规律 mod ...

  2. Java 并发,相关术语

    Java 并发,相关术语: 术语 作用 synchronize 可修饰方法.代码块.类:介绍:https://www.cnblogs.com/zyxiaohuihui/p/9096882.html L ...

  3. 前端重定向,index.html文件被浏览器缓存,导致整个应用都是旧的

    解决方法:https://github.com/ant-design/ant-design-pro/issues/1365#issuecomment-384496088

  4. NSURLProtocol

    An NSURLProtocol object handles the loading of protocol-specific URL data. @abstract This method reg ...

  5. memoryDiary

    What did you accomplish today? , did you exercise today? Do you care about the people around you tod ...

  6. 进阶blog整理

    https://blog.csdn.net/zhangerqing https://bbs.csdn.net/topics/310072893 SCJP

  7. 趋势投资tz-proj springcloud (vue redis)

    https://github.com/deadzq/tz-test-1 https://github.com/deadzq/tz-test-api-1 https://github.com/deadz ...

  8. JS回调函数怎么写的?

    相信每个做前端的同学都用过太多太多的回调函数, 接下来就看看回调函数是怎么来的. 这玩意儿也没那么神秘,直接看代码: 声明函数的时候,把回调函数用作参数,并且在函数内调用它 function getD ...

  9. VxLAN原理

    VxLAN 背景介绍: 从上个世纪虚拟化技术就被提出,但由于硬件技术达不到,而没能被重视,自本世纪初硬件制造技术越来越来强,导致很多单台物理机只跑一个应用或几个应用根本无法完全使用硬件的全部性能,导致 ...

  10. GoCN每日新闻(2019-10-31)

    GoCN每日新闻(2019-10-31) GoCN每日新闻(2019-10-31) 1. Go语言继承的其他语言的优秀之处 https://spf13.com/presentation/the-leg ...