[英]How do load a properties file and pass it to a java singleton (enum)
我有一个java单例类,它有我的应用程序设置。
我使用了这种方法: 在Java中实现单例模式的有效方法是什么?
所以我有:
public enum MySettings {
INSTANCE;
// bunch of private vars
private MySettings {
// load a json file and set my properties
JsonParser parser = jf.createJsonParser(new File("HARD_CODED_PATH_HERE"));
}
// public getters/setters here
}
所以问题是我目前的硬编码路径。
我在/ WEB-INF /文件夹中创建了一个settings.properties文件,现在问题是我知道如何加载属性文件的唯一方法,它需要servlet上下文:
Properties prop = new Properties();
propertiesload(getServletContext().....);
还有另一种加载方法吗?
那么这个属性文件是属性文件的静态表示吗? 即它是非常快速和有效的?
你可以尝试将你的属性直接放在src文件夹而不是WEB-INF文件夹下吗?
WORKDIR
+ SRC
| + PACKAGES
| | + org.personal.foo
| - system.properties
| + WEB-INF
Spring具有将属性文件公开为bean的功能。 鉴于您使用“Spring”标记了帖子,您可能想要走那条路。
这是一个人如何使用Spring加载属性文件:
http://www.zparacha.com/how-to-read-properties-file-in-spring/#.T2JQqt5SRfQ
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.