Java静态内部类单例模式读取Properties配置文件

在Java开发中,可能需要把一些配置参数写入properties配置文件中,在这里介绍一种通过静态内部类单例模式来读取的properties文件的方式。

1.properties文件配置路径
在这里插入图片描述
在resources下新建配置文件test.properties,如果对于Java读取指定资源输入流不太了解的话可以先移步至 Java的Class.getClassLoader().getResourceAsStream()与Class.getResourceAsStream()理解

2.PropertiesUtil工具类

public class PropertiesUtil {

	/** 配置文件路径 */
	private final static String PROPERTIES_PATH = "test.properties";

	private static Properties properties;

	private PropertiesUtil() {
		readProperties();
	}

	/* 静态内部类获得外部类实例,在构造方法中读取配置文件 */
	private static class PropStaticInner {

		private static final PropertiesUtil INSTANCE = new PropertiesUtil();
	}

	public static PropertiesUtil getInstance() {
		return PropStaticInner.INSTANCE;
	}

	private static void readProperties() {
		properties = new Properties();
		InputStream in = PropertiesUtil.class.getClassLoader().getResourceAsStream(PROPERTIES_PATH);
		try {
			properties.load(in);
		} catch (IOException e) {
			// 日志和异常处理
		} finally {
			try {
				in.close();
			} catch (IOException e) {
				// 日志和异常处理
			}
		}
	}

	public Properties getProps() {
		return properties;
	}
}

静态内部类实现单例模式:外部类加载时不会立即加载内部类,就不会去初始化INSTANCE。只有当 getInstance() 方法第一次被调用时,才会加载内部类,从而初始化INSTANCE。

3. 使用方法

Properties props = PropertiesUtil.getInstance().getProps();
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值