采用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边界防火墙”方案实现出向流量有效监控保护,有效降低恶意软件攻陷风险、内部人员风险、数据泄露风险、供应链风险、出站流量合规风险等
469 3
|
Linux 开发工具 Python
【Deepin 20系统】Linux系统从零打造完美VScode for Python环境
如何在Deepin 20系统中从零开始配置一个完美的VScode for Python开发环境,包括安装Anaconda、VScode、必要的插件、汉化、主题和字体设置,以及如何运行和调试Python程序。
530 6
|
网络协议 Ubuntu Linux
Ubuntu常用必会Nslookup指令
它是一个很小但功能非常强大的网络管理命令行软件。Nslookup命令可用于当前主流的计算机操作系统,如Windows、macOS和Linux。 您可以使用它来执行DNS查询域名或IP地址,或任何其他特定的DNS记录。 也有Nslookup在线工具,Windows的Nslookup是系统自带的,在dos下可以直接调用使用。Linux的Nslookup工具则要安装一个工具包。
765 0
|
存储 数据安全/隐私保护
scanf函数读取数据 & 清空缓冲区
scanf函数读取数据 & 清空缓冲区
754 0
|
机器人 图形学
Unity Shader Graph 制作Rim Light边缘光效果
Unity Shader Graph 制作Rim Light边缘光效果
796 0
Unity Shader Graph 制作Rim Light边缘光效果
|
自然语言处理
Q&A | R做生存分析如何取最佳cutoff(截断)
很多时候,在用中位数/均数、四分位数等特殊位置为截点时,生存分析往往没有差异。这个时候常常需要找到一个最佳截点使得生存分析有差异。常用的选取生存分析的最佳截断有很多种方法,如X-tile软件、R的CatPredi包、cutoff包。今天给大家介绍的是survminer 包的surv_cutpoint()函数。
1527 0
Q&A | R做生存分析如何取最佳cutoff(截断)
|
应用服务中间件
mac下Tomcat的安装,启动和关闭脚本配置,端口号更改
mac下Tomcat的安装,启动和关闭脚本配置,端口号更改
|
SQL Java 数据库
【SpringBoot DB 系列】Jooq 之新增记录使用姿势
接下来我们开始进入 jooq 的增删改查的使用姿势系列,本篇将主要介绍如何利用 jooq 来实现添加数据
525 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 是一款性价比极高的大屏智能手机。
555 0
为完善生态拼了 - 乐视超级手机 1 体验评测