java properties文件 变量_properties文件和环境变量

本文概览:介绍了通过java.util.Properties类和Spring配置中获取配置文件中值

1 Properties文件

1.1 使用java.util.Properties类

使用Properties来读取配置文件,代码举例如下

public class TestProperty {

@Test

public void testProperty() {

Properties properties = new Properties();

String configFile = "/test/resources/app-config.properties";

try {

FileInputStream fis =

new FileInputStream(configFile);

properties.load(fis);

String value = properties.getProperty("service.name");

System.out.println(value);

} catch (Exception e) {

System.out.println(e.getMessage());

}

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

publicclassTestProperty{

@Test

publicvoidtestProperty(){

Propertiesproperties=newProperties();

StringconfigFile="/test/resources/app-config.properties";

try{

FileInputStreamfis=

newFileInputStream(configFile);

properties.load(fis);

Stringvalue=properties.getProperty("service.name");

System.out.println(value);

}catch(Exceptione){

System.out.println(e.getMessage());

}

}

}

有些地方需要注意:

1、如果配置文件中存在转移符号“\”,那么会自动识别。如下

在配置文件配置“key=2344\@123”,其实效果和“key=2344@123”效果一样。

1.2 Spring配置

在xml中配置如下

1

2

这里需要注意一点就是在spring mvc的工程里面,root的上下文和dispatcherServlet对应的mvc.xml中都需要增加一个这个配置,即工程中需要两个地方配置这个,原因是什么?我们可以看下这两个上下文初始化过程

第一步 ContextLoaderListener对root上下文进行初始化,通过解析xml文件和properties文件初始化bean,然后装载到上下文中。

第二步  DispatcherServlet初始化自己上下文,通过解析xml文件和properties文件初始化bean,然后装载到上下文中;最后把父上下文属性设置为root上下文。

通过以上我们可以看出,这两个上下文的父子关系是在初始化完成之后确定的。在初始化过程中要使用properties,所以需要指定两份

2 环境变量

分为系统环境变量和JVM环境变量 两类。

2.1 JVM环境变量

在运行命令时通过-D指定,如下

java -DparamName=xxx Test.class

1

java-DparamName=xxxTest.class

也可以在代码中设置,

System.setProperty("paramName","xxx");

1

System.setProperty("paramName","xxx");

在程序获取

System.getProperty("paramName");

1

System.getProperty("paramName");

问题1:JVM环境变化和Propeties文件关系

System中jvm的环境变量是使用Properties对象保存的。

Class System {

// 保存JVM的环境变量

private static Properties props;

}

1

2

3

4

ClassSystem{

// 保存JVM的环境变量

privatestaticPropertiesprops;

}

可以通System.setProperties(Properties props) 将Propeties转换JVM的环境变量。

2.2 系统环境变量

代码如下:

System.getenv("paramName");

1

System.getenv("paramName");

(全文完)

你可能感兴趣的:(java,properties文件,变量)