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", ""));
} }
maven工程仿springboot手写代码区分开发测试生产的更多相关文章
- ClownFish:比手写代码还快的通用数据访问层
http://www.cnblogs.com/fish-li/archive/2012/07/17/ClownFish.html 阅读目录 开始 ClownFish是什么? 比手写代码还快的执行速度 ...
- SpringBoot-基于Maven工程使用SpringBoot
Spring Boot SpringBoot是一个社区反馈推动的项目.SpringBoot可以说是至少五年来Spring乃至整个Java社区最有影响力的项目之一.SpringBoot主要包括以下特性: ...
- 前端面试手写代码——call、apply、bind
1 call.apply.bind 用法及对比 1.1 Function.prototype 三者都是Function原型上的方法,所有函数都能调用它们 Function.prototype.call ...
- 手写代码自动实现自动布局,即Auto Layout的使用
手写代码自动实现自动布局,即Auto Layout的使用,有需要的朋友可以参考下. 这里要注意几点: 对子视图的约束,若是基于父视图,要通过父视图去添加约束. 对子视图进行自动布局调整,首先对UIVi ...
- 如果选择构建ui界面方式,手写代码,xib和StoryBoard间的博弈
代码手写UI这种方法经常被学院派的极客或者依赖多人合作的大型项目大规模使用. 大型多人合作项目使用代码构建UI,主要是看中纯代码在版本管理时的优势,检查追踪改动以及进行代码合并相对容易一些. 另外,代 ...
- .netER的未来路,关于基础是否重要和应该自己手写代码吗?
http://www.cnblogs.com/onepiece_wang/p/5558341.html#!comments 引用"基础知识的学习,一开始可能是背书,但是在后续若干年的工作过程 ...
- 手写代码UI,xib和StoryBoard间的的优劣比较
在UI制作方面,逐渐分化三种主要流派:使用代码手写UI:使用单个xib文件组织viewController或者view:使用StoryBoard来通过单个或很少的几个文件构建UI.三种方式各有优劣,也 ...
- UI到底应该用xib/storyboard完成,还是用手写代码来完成?
UI到底应该用xib/storyboard完成,还是用手写代码来完成? 文章来源:http://blog.csdn.net/libaineu2004/article/details/45488665 ...
- 2019前端面试系列——JS高频手写代码题
实现 new 方法 /* * 1.创建一个空对象 * 2.链接到原型 * 3.绑定this值 * 4.返回新对象 */ // 第一种实现 function createNew() { let obj ...
随机推荐
- ovirt常用后台维护命令
以下命令是在node主机上操作 查看hosted-engine虚机的状态 hosted-engine --vm-status 启动hosted-engine虚机 hosted-engine --vm- ...
- 通过PHP自带的$_SERVER判断 自动识别移动设备
因为站点需要,手机端和PC端分离,所以通过PHP自带的$_SERVER判断 自动识别移动设备 代码如下: <?php $agent = $_SERVER['HTTP_USER_AGENT']; ...
- datagrid 溢出文本显示省略号 转载
http://www.jeasyuicn.com/?sort=3 .datagrid-cell, .datagrid-cell-group, .datagrid-header-rownumber, . ...
- Convert.ToByte((int)val)
static void Main(string[] args) { ; byte bit8 = Convert.ToByte((int)val); Console.WriteLine("[{ ...
- Can总线上的电平及物理层仲裁
CAN总线采用差分信号传输,通常情况下只需要两根信号线(CAN-H和CAN-L)就可以进行正常的通信.在干扰比较强的场合,还需要用到屏蔽地即CAN-G(主要功能是屏蔽干扰信号),CAN协议推荐用户使用 ...
- Async/await promise实现
An async function can contain an await expression that pauses the execution of the async function an ...
- brew 又叫Homebrew,是Mac OSX上的软件包管理工具
brew 又叫Homebrew,是Mac OSX上的软件包管理工具; Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能.简单的一条指令,就可以 ...
- ent 基本使用 一 schema 迁移
ent 是 facebook 开源的golang orm 框架,简单强大,以下是一个简单使用 环境准备 安装ent 工具 go get github.com/facebookincubator/ent ...
- 洛谷 P1789 【Mc生存】插火把 题解
P1789 [Mc生存]插火把 题目背景 初一党应该都知道...... 题目描述 话说有一天 linyorson 在"我的世界"开了一个 \(n\times n(n\le 100) ...
- 中心极限定理(Central Limit Theorem)
中心极限定理:每次从总体中抽取容量为n的简单随机样本,这样抽取很多次后,如果样本容量很大,样本均值的抽样分布近似服从正态分布(期望为 ,标准差为 ). (注:总体数据需独立同分布) 那么样本容量n应 ...