我正在尝试外部化属性文件。现在,我正在通过将我的属性文件放在我的用户配置文件文件夹下进行测试,但我得到的是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"/>
我在哪里错了?任何帮助将不胜感激。
答案 0 :(得分:0)
看起来您的Environment对象未加载和绑定,并且为null。尝试使用@Resource
注入Environment变量替换
private static Environment e;
使用
@Resource
private static Environment e;