2016/08/02 枚举单例读取配置文件

枚举实现单例在《Effective in java》中提到过,好处是简洁,同时不会有序列化和反序列化的问题。

下面一个 enum 单例的实际示例,用来读取配置文件。

config.properties

host=htt://localhost
port=8080

AppContext.java

import java.util.ResourceBundle;

public enum  AppContext {

    INSTANCE;

    private volatile static ResourceBundle rb = ResourceBundle.getBundle("config");

    public String getValue(String key){
        return rb.getString(key);
    }
}
``

**client**
​```java
public class Client {

    public static void main(String[] args) {
        String host = AppContext.INSTANCE.getValue("host");
    }
}