Просто используйте java.util.Properties
, чтобы загрузить его.Он реализует Map
уже.Вы можете загрузить и получить свойства статически.Вот пример, предполагающий, что у вас есть файл config.properties
в пакете com.example
:
public final class Config {
private static final Properties properties = new Properties();
static {
try {
ClassLoader loader = Thread.currentThread().getContextClassLoader();
properties.load(loader.getResourceAsStream("com/example/config.properties"));
} catch (IOException e) {
throw new ExceptionInInitializerError(e);
}
}
public static String getSetting(String key) {
return properties.getProperty(key);
}
// ...
}
, который можно использовать как
String foo = Config.getSetting("foo");
// ...
При необходимости вы можете абстрагировать эту реализациюпрочь интерфейсом и получи экземпляр абстрактной фабрикой.