package singleton; public enum AppConfigEnum { INSTANCE; // The JVM creates this exactly once, period. // Enum instances can have fields and methods like any class private final String configPath; AppConfigEnum() { // Enum constructors run once, when the constant is first used this.configPath = System.getProperty("config.path", "application.properties"); System.out.println("Loading config from: " + configPath); } public String getProperty(String key) { return System.getProperty(key, "(not set)"); } }