用enum实现单例模式的方法来读取配置文件
时间: 2024-03-11 20:51:16 浏览: 178
首先需要明确的是,使用 enum 实现单例模式的方法称为枚举单例模式,它是一种比较优雅的单例模式实现方式。
在这种方式下,我们可以将配置文件的读取方法写在枚举类的构造方法中,如下所示:
```java
public enum ConfigReader {
INSTANCE;
private Properties properties;
private ConfigReader() {
properties = new Properties();
try {
InputStream inputStream = getClass().getResourceAsStream("config.properties");
properties.load(inputStream);
} catch (IOException e) {
// 处理异常
}
}
public String getProperty(String key) {
return properties.getProperty(key);
}
}
```
在上面的代码中,我们定义了一个枚举类 `ConfigReader`,它只有一个实例 `INSTANCE`。在枚举类的构造方法中,我们读取了配置文件 `config.properties`,并将其存储在 `properties` 中。最后,我们提供了一个 `getProperty` 方法,用于获取配置文件中某个属性的值。
使用时,我们可以通过 `ConfigReader.INSTANCE.getProperty(key)` 的方式来获取配置文件中的属性值。
需要注意的是,枚举单例模式不能被继承,因为枚举类默认是 final 类型的,不能被继承。
阅读全文