[英]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.