从外部属性文件读取时出现NullPointerException

时间:2017-10-25 21:11:18

标签: java spring

我正在尝试外部化属性文件。现在,我正在通过将我的属性文件放在我的用户配置文件文件夹下进行测试,但我得到的是NullPointerException。更具体地说,System.out.println语句没有显示在控制台中,这使我认为可能是触发NullPointerException的环境变量。我还确保将属性文件放在正确的路径中。以下是代码的一部分:

@PropertySource("file:${USERPROFILE}/test.properties")
public MyClass{

 private static Environment e;

 public static void main(String[] args){
    System.out.println("Test properties file: " + e.getProperty("myKey");
 }

}

属性文件:

myKey=testvalue

我的调度程序servlet xml文件中的这一行:

<context:property-placeholder location="classpath*:query.properties, file:${USERPROFILE}/test.properties"/>

我在哪里错了?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

看起来您的Environment对象未加载和绑定,并且为null。尝试使用@Resource

注入Environment变量

替换

private static Environment e;

使用

@Resource
private static Environment e;