Environment
作用:
它是操作系统级别的,通常项目在发布的时候需要将操作系统的环境变量(Environment)读入到项目当中,然后根据的系统的环境,让程序作出相应配置的时候用到。比如,一个server会设置自己的服务器的级别(env=DEV),那么我们的项目就可以读取这个环境变量(env),根据其级别,设置与之对应级别的相关配置。
设置:
操作系统设置-以windows操作系统为例(相信大家也能都知道):
Eclipse中设置-为了本地测试使用,eclipse中也支持设置系统环境变量,当然只有在使用eclipse启动的时候才生效:
这样只有在启动tomcat5.5的时候就会自动的应用此环境变量!
java中读取环境变量(java中不可以set):
// 读取所有
Map envs = System.getenv();
for (Iterator it = envs.entrySet().iterator();it.hasNext();){
Object obj = it.next();
System.out.println(obj);
}
//读取给定的
String env = System.getProperty( "env" );
//读取不到时,设置默认的
String env = System.getProperty( "env", "DEV" );
Argument
作用:
它是属于jvm级别的。只有在相关的jvm应用启动的时候才有效,设置时需要我们程序员在项目启动时候给定的jvm参数。一般在使用一些开源或商业的jar包的时候,需要我们以Argument的形式去配置其参数。
设置:
java -Dxxx=“xxx”
xxx可以是任何字符串。打开eclipse中tomcat的设置,就一目了然了。
如果都觉得这样设置起来麻烦的话,那么在项目在启动的时候使用java code设置
public static void main(String abc[]){
System.setProperty( "env", "DEV" );
}
读取java变量:
for ( Iterator it = System.getProperties().entrySet().iterator(); it.hasNext(); ) {
Object obj = it.next();
System.out.println( obj );
}