采用commons-configuration包实现属性文件读取的工具类

简介:

代码如下:

 

package com.yanek.base;

import org.apache.commons.configuration.CompositeConfiguration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;

public class PropManager {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		String jdbcUrl = PropManager.getInstance().getProperty("jdbc.cms.url");
		String jdbcUsername = PropManager.getInstance().getProperty("jdbc.cms.username");
		String jdbcPassword = PropManager.getInstance().getProperty("jdbc.cms.password");
		
		System.out.println("jdbcUrl:"+jdbcUrl);
		System.out.println("jdbcUsername:"+jdbcUsername);
		System.out.println("jdbcPassword:"+jdbcPassword);
		
		System.out.println(PropManager.getInstance());
		System.out.println(PropManager.getInstance());
		
	}
	private PropManager() {
	}
	
	private static PropManager propManager;
	public synchronized static PropManager getInstance() {
		if (propManager == null) {
			propManager = new PropManager();
		}
		return propManager;
	}
	
	public static CompositeConfiguration config = new CompositeConfiguration();
	static {
		try {
			config.addConfiguration(new PropertiesConfiguration("jdbc.properties"));
		} catch (ConfigurationException e) {
			e.printStackTrace();
		}
	}
	
	public String  getProperty(String key)
	{
		return config.getString(key);
	}
	
	

}

测试输出:

 

jdbcUrl:jdbc:mysql://127.0.0.1:3306/easycms?characterEncoding=UTF8
jdbcUsername:root
jdbcPassword:root
com.yanek.base.PropManager@174cc1f
com.yanek.base.PropManager@174cc1f

 

使用的包:  commons-configuration-1.6.jar

 

几点说明:

 1. 采用了单态设计模式,

2.属性文件在classpath目录下.

3. 采用commons-configuration-1.6.jar来读取属性文件

 

jdbc.properties文件:

jdbc.cms.url=jdbc:mysql://127.0.0.1:3306/easycms?characterEncoding=UTF8
jdbc.cms.username=root
jdbc.cms.password=root

 

 

目录
相关文章
|
弹性计算 监控 安全
通过NAT网关和云防火墙防护私网出站流量安全的最佳实践
针对云上企业出站流量安全攻击,企业可以通过采用“NAT网关+NAT边界防火墙”方案实现出向流量有效监控保护,有效降低恶意软件攻陷风险、内部人员风险、数据泄露风险、供应链风险、出站流量合规风险等
447 3
|
Java Nacos 数据库
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(五) SEATA分布式事务篇(下)应用整合shardingsphere集成seata完整代码及订单-库存完整模拟案例
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(五) SEATA分布式事务篇(下)应用整合shardingsphere集成seata完整代码及订单-库存完整模拟案例
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(五) SEATA分布式事务篇(下)应用整合shardingsphere集成seata完整代码及订单-库存完整模拟案例
|
域名解析 安全 小程序
阿里云平台申请SSL证书类型、申请流程、价格等常见问题解答
SSL证书是很多用户上云过程中比不可少的安全类云产品,SSL证书常见的应用场景有站点应用、移动应用、代码应用、电子邮件应用等,使用SSL证书可以加密网站和客户端之间的通信,防止数据在传输过程中被篡改,避免信息泄露。阿里云提供了多种品牌和类型的证书。
1917 0
阿里云平台申请SSL证书类型、申请流程、价格等常见问题解答
|
SQL 数据采集 存储
大数据知识点总结
数据仓库:英文Data WareHouse,数据仓库是面向主题,为分析数据而设计的,是一个各种数据(包括历史数据和当前数据)的中心存储系统,主要服务于商业智能(也就是BI)和企业决策管理。
596 0
大数据知识点总结
|
前端开发 IDE 开发工具
webstorm安装使用教程
webstorm安装使用教程
546 0
webstorm安装使用教程
|
机器人 图形学
Unity Shader Graph 制作Rim Light边缘光效果
Unity Shader Graph 制作Rim Light边缘光效果
770 0
Unity Shader Graph 制作Rim Light边缘光效果
|
SQL Java 数据库
【SpringBoot DB 系列】Jooq 之新增记录使用姿势
接下来我们开始进入 jooq 的增删改查的使用姿势系列,本篇将主要介绍如何利用 jooq 来实现添加数据
509 0
|
编解码 5G 定位技术
为完善生态拼了 - 乐视超级手机 1 体验评测
凭借拥有庞大优秀影视资源,乐视超级电视在国内智能电视市场中取得相当不错的成绩。经过一年的静默,在 4月 14 日新品发布会上,乐视宣布进军智能手机行业,一口气推出了乐 1 、乐 1 Pro 、乐 1 Max 三款超级手机,其中乐 1 最低配机型定价 1499 元,在市场上多款 1500 元价位的智能手机产品中,乐 1 的硬件配置相当大气,采用联发科 MTK helio X10 八核处理器,5.5 寸 1080p 全高清屏幕,内置 3GB LPDDR3 运行内存和 16G 存储空间,从 Android 手机经常采用堆积硬件提高性能的角度看,乐 1 是一款性价比极高的大屏智能手机。
541 0
为完善生态拼了 - 乐视超级手机 1 体验评测
|
存储 负载均衡 监控
etcd
前面的文章中,介绍了基于Paxos的ZooKeeper,本文将介绍另一种分布式一致性算法Raft的工业级实现————etcd,它们虽然实现方案不同,但是最终的实现效果都很像,而且etcd相较于ZooKeeper来说,更轻,更容易理解和使用,接下来就让我们一起来看一下etcd的实现思想。
|
域名解析 弹性计算 数据可视化
使用阿里云服务器搭建网站全过程图文教程
使用阿里云服务器搭建网站全教程,包括域名注册、云服务器创建、网站Web服务器环境搭建、域名解析到云服务器、云服务器建站源码部署一直到网站上线全过程
1033 0
使用阿里云服务器搭建网站全过程图文教程