在开发应用时,可能需要根据不同的环境使用不同的代码,部署时手动切换代码,比较麻烦,如果根据环境配置,自动切换代码,下面为一个示例
首先建立配置文件:
config.properties
#configure the environment
#dev,test,exp
env=dev
获取配置工具:
package com.test.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.apache.commons.lang3.StringUtils;
import common.Logger;
/**
* 环境配置工具类
* @author donald
* @date 2017-5-19
* @time 上午11:13:27
*/
public class ConfigUtil {
private static final Logger log = Logger.getLogger(ConfigUtil.class);
private static final String ENV = "env";
private static final String ENV_DEV = "dev";//开发环境
private static final String ENV_TEST = "test";//测试环境
private static final String ENV_EXP = "exp";//正式体验环境
private static final String CONFIG_FILE = "config.properties";
private static volatile ConfigUtil instance = null;
private static Properties envProperties = null;
static {
init();
}
public static synchronized ConfigUtil getInstance(){
if(instance == null){
instance = new ConfigUtil();
}
return instance;
}
/**
* 初始化配置文件
*/
private static void init(){
// String path = Thread.currentThread().getContextClassLoader().getResource(CONFIG_FILE).getPath();
// log.debug("==========congfig file path:"+path);
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(CONFIG_FILE);
envProperties = new Properties();
try {
envProperties.load(inputStream);
} catch (IOException e) {
log.error("====load config file error:"+e.getMessage());
e.printStackTrace();
}
}
/**
* 判断是否为开发环境
* @return
*/
public boolean getEnvDev(){
boolean flag = false;
String envConfig = getEnvConfig();
if(envConfig.equals(ENV_DEV)){
flag = true;
}
return flag;
}
/**
* 判断是否为测试环境
* @return
*/
public boolean getEnvTest(){
boolean flag = false;
String envConfig = getEnvConfig();
if(envConfig.equals(ENV_TEST)){
flag = true;
}
return flag;
}
/**
* 判断是否为正式环境
* @return
*/
public boolean getEnvExp(){
boolean flag = false;
String envConfig = getEnvConfig();
if(envConfig.equals(ENV_EXP)){
flag = true;
}
return flag;
}
/**
* 获取环境配置
* @return
*/
protected String getEnvConfig(){
String envConfig = envProperties.getProperty(ENV);
if(StringUtils.isBlank(envConfig)){
envConfig = ENV_DEV;
}
return envConfig;
}
/**
* 获取环境配置文件属性
* @return
*/
private Properties getEnvProperties(){
return envProperties;
}
public static void main(String[] args) {
{
if(ConfigUtil.getInstance().getEnvDev()){
log.info("==========congfig env:dev");
}
if(ConfigUtil.getInstance().getEnvTest()){
log.info("==========congfig env:test");
}
if(ConfigUtil.getInstance().getEnvExp()){
log.info("==========congfig env:exp");
}
}
}
}
最后用工具类获取环境配置,切换代码。
分享到:
相关推荐
服务器环境配置工具是IT行业中必不可少的一环,它们用于简化在服务器上部署和管理软件环境的过程。这类工具通常包括自动化脚本、配置管理软件以及版本控制系统等,能够帮助系统管理员高效地完成任务,确保服务器的...
Java一键环境配置工具是一款专为简化Java开发环境搭建过程而设计的应用程序,它极大地节省了开发者的时间和精力,避免了手动配置环境变量等繁琐步骤。这个工具通常包含了JDK(Java Development Kit)的安装和配置,...
"手机虚拟环境配置工具.zip"这个压缩包文件显然包含了帮助开发者在手机上建立和管理虚拟环境的相关应用。下面我们将深入探讨其中涉及的两个关键工具:MT管理器和反射大师,以及与它们相关的安卓逆向和Xposed框架。 ...
Java环境变量一键配置工具是专为简化JAVA开发环境搭建而设计的应用程序,它极大地简化了JDK安装后的环境变量配置过程。在传统的Java开发环境中,开发者通常需要手动配置一系列环境变量,包括JAVA_HOME、PATH以及...
总而言之,AutosAR配置工具链是现代汽车电子软件开发的重要组成部分,它涉及到从底层硬件到上层应用的全面配置,通过标准化的接口和流程,为汽车制造商和供应商提供了强大的软件开发平台。随着自动驾驶和车联网技术...
使用Mono for Android和.Net/C#开发Android 应用程序,环境搭建(开发环境配置和环境变量配置) 1、安装JDK 2、安装Android SDK 3、安装Visual Studio 2010及SP1补丁包(参见...
图形化配置工具主要应用于嵌入式系统的开发和配置过程中,旨在提供一个图形化的配置环境,帮助用户快速完成嵌入式系统的开发和配置。该工具支持龙芯版嵌入式系统,具有广泛的应用前景。 知识点2:图形化配置工具的...
网狐6603机器人配置工具是一款专为与网狐6603机器人交互而设计的应用程序。这个工具使得用户能够轻松地设置和管理机器人,以便实现更个性化和丰富的互动体验。下面我们将深入探讨这款配置工具的主要功能、使用方法...
Java Development Kit(JDK)是Java编程语言的核心组件,它...总之,"JDK环境变量自动配置工具v1.4.2.25"为Java开发者和运维人员提供了便利,简化了复杂的环境配置步骤,使得Java开发环境的搭建变得更加高效和便捷。
JNDI自动配置工具则为开发者提供了一个方便的手段,简化了在应用服务器上设置和管理这些资源的过程。 JNDI的主要功能包括: 1. **命名服务**:通过名字来定位资源,比如一个数据库连接池可以通过其在JNDI中的名字...
《南瑞继保61850系统配置工具详解》 在电力自动化领域,IEC 61850标准已成为变电站自动化系统的国际通用规范,它定义了变电站通信网络和系统的架构、数据模型以及通信协议。南瑞继保作为国内电力自动化领域的领军...
### JVM与JAVA环境配置详解 在进行JAVA应用开发时,正确配置JVM(Java虚拟机)及JAVA开发环境是至关重要的第一步。本文将基于提供的文件信息,深入解析JVM及JAVA开发环境配置的关键步骤和注意事项。 #### 1. JAVA_...
1. "IP配置工具":这是可能的可执行文件,用户运行后可以启动IP配置工具的应用程序。 2. "IP配置工具.suo":这是一个隐藏的Visual Studio用户选项文件,存储了用户在使用VS编辑器时的一些个人设置,如窗口布局、断点...
Genesis是一个自动化环境配置工具。它生成网络设备如交换机和路由器的配置文件,服务器操作系统和软件应用软件包。它提供了一个单一,简单办法来提供基础环境。主要的功能包括:简单,提供一个直观的解决方案,用户...
迪文液晶屏(DGUS屏)配置工具V4.9是一款专为迪文科技的智能显示...无论是智能家居、工业控制还是车载信息娱乐系统,迪文液晶屏配置工具V4.9都是一个强大且易用的解决方案,能够帮助设计出引人注目且高效的显示应用。
通过配置工具,可以一键完成Maven的环境配置,提高开发效率。 总结起来,“Java环境变量配置工具”旨在解决开发者在配置这些环境变量时遇到的问题,通过自动化处理,使得安装和配置过程更加简单、高效。无论是对于...
这款"java环境变量配置工具1.6-1.9 即时生效"显然是一款专门用于简化这一过程的实用工具,支持从Java 1.6到1.9版本的环境配置,并且具有配置后立即生效的特点,无需重启计算机。 1. **Java环境变量详解**: - **...
文件配置工具在IT行业中扮演着至关重要的角色,它主要用于管理和修改应用程序、系统服务或网络设备的配置文件。这些工具能够帮助IT专业人员高效地完成大量重复性工作,提高工作效率,并确保配置的一致性和准确性。 ...
在IT行业中,环境配置是开发、测试和运行应用程序的关键步骤。环境配置信息通常涉及操作系统设置、软件安装路径、依赖库、环境变量、数据库连接参数等。以下是对"环境配置信息"这一主题的详细阐述。 首先,我们需要...