在各个项目中,总会用到各种数据库连接或连接池等基础信息。如果使用常量写在程序里,恐怕不利于修改配置和部署。这里总结一个在工作中常用的配置文件的工具类。
由于这个类主要读取的是数据库配置,因此类名为DatabaseProject,当然读取不同配置也可以使用其他类名。
public final class DatabaseProject { public static final Logger LOGGER = LoggerFactory.getLogger(DatabaseProject.class); //You must call init() before really use DB. public static CompositeConfiguration DB_CONFIG = new CompositeConfiguration(); public static void init(String confDir) { DB_CONFIG = getConfiguration(confDir,"db.properties"); } public static CompositeConfiguration getConfiguration(String confDir, String prop) { CompositeConfiguration config = new CompositeConfiguration(); File file = new File(confDir + "/" + prop); FileChangedReloadingStrategy reloadingStrategy = new FileChangedReloadingStrategy(); reloadingStrategy.setRefreshDelay(10000);// 10s URL url = null; try { if (file.exists()) { url = file.toURI().toURL(); } else { url = org.apache.commons.configuration.ConfigurationUtils .locate(prop); } LOGGER.info("loading conf from:" + url); PropertiesConfiguration fileConfiguraton = new PropertiesConfiguration(); fileConfiguraton.load(url); fileConfiguraton.setReloadingStrategy(reloadingStrategy); config.addConfiguration(fileConfiguraton); } catch (Exception e) { LOGGER.error("Failed to load config:" + prop, e); } return config; } public static void main(String[] args){ DatabaseProject.init("src"); } }
这个类中主要使用了apache的commons-configuration包,日志使用slf4j、logback等jar包。
主要方法是getConfiguration,获取properties文件配置路径和文件名,并启用FileChangedReloadingStrategy文件修改后重新加载策略,返回CompositeConfiguration实例。
使用方法:
DatabaseProject.init("src");//初始化传入配置文件路径 // DatabaseProject.DB_CONFIG.containsKey("mongodb.ips") DatabaseProject.DB_CONFIG.getString("mongodb.ip"); DatabaseProject.DB_CONFIG.getInt("mongodb.port");
以上就是这个工具类简单的使用介绍,commons-configuration包还提供了有不少工具,大家后续可以查看API文档再慢慢完善这个类。
相关推荐
首先,Spring框架的核心之一就是IoC(Inversion of Control)容器,它通过XML、Java配置或注解来管理对象的生命周期和依赖关系。在传统的XML配置中,我们可以定义bean并设置其属性。然而,随着项目的复杂性增加,XML...
在IT行业中,数据库管理和对象关系映射(ORM)是核心概念之一。"根据表反向生成实体类与配置文件"这个主题涉及到将数据库中的表结构转换为编程语言中的类结构,以及生成相应的配置文件,以便于开发人员进行数据操作...
在IT行业中,日志记录是系统调试、性能分析和故障排查的重要工具,而Log4j则是Java编程语言中广泛使用的日志框架之一。本工程基于Eclipse IDE,配置了一个简单的Log4j设置,实现了每天自动将日志输出到一个特定命名...
MyBatis逆向工程工具是Java开发者在构建SSM(Spring、SpringMVC、MyBatis)项目时常用的一种高效工具。它能够帮助开发者自动生成DAO(Data Access Object)、Mapper接口以及实体类(Entity),极大地提高了开发效率...
文档管理是项目成功的关键因素之一,而配置管理则确保了系统在整个生命周期中的稳定性和可追溯性。 在信息系统项目中,文档是用来记录需求、过程、活动和结果的重要工具。它们分为开发文档、产品文档和管理文档三大...
- **软件开发支撑工具**:包括软件配置管理工具、项目管理工具、软件工程工具等。 **集成开发环境(IDE)** - IDE是将多种软件编程工具集成到一个应用程序中,提供一致的界面,并有效地协同各个工具的使用。 - **...
Spring框架是Java开发中最常用的轻量级框架之一,它的核心在于IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)。在本压缩包中,你将找到Spring4版本的相关jar包,这些是...
《数字变电站SCD文件解析工具详解》 在现代电力系统中,数字变电站作为一种高效、可靠的通信方式,已经逐渐取代了传统的模拟变电站。...因此,掌握SCD文件解析工具的使用,是电力行业专业人员不可或缺的技能之一。
总的来说,"网络工程师批量调试设备工具之一"——Gen.exe是网络运维领域中的一个重要工具,它通过提供高度可定制的命令行参数,简化了大规模网络设备的调试和管理。对于任何处理复杂网络环境的工程师来说,熟练掌握...
在Java Web开发领域,MyBatis逆向工程(MyBatis Generator,简称MBG)是这样一个工具,它能够帮助开发者自动生成基于MyBatis框架的POJO(Plain Old Java Object)、Mapper接口和XML配置文件,极大地减少了重复编码的...
在IT项目管理中,资金是项目成功的关键因素之一,需要通过有效的项目管理来保证项目按照预算和时间表推进。 5. 风险管理:报告中提到了政策推广不达预期,市场竞争加剧风险,项目落地不达预期等风险提示。在IT行业...
深入研究Windows内部原理系列之一:Windows的昨天、今天和明天 讲师信息:潘爱民 2007年01月25日 14:00-15:30 Level: 300 著名技术作家、微软亚洲研究院研究员潘爱民老师将在这次课程中跟听众分享Windows的发展...
- **科技类文件**:这类文件可能包括编程代码(如.java、.py、.c++)、配置文件(.json、.xml)、数据库文件(.sql、.mdb)、科学计算软件输出(.csv、.txt)或者技术图纸(.dwg、.pdf)。它们与科学研究、工程设计...
### 软件工程中的软件配置管理教程 #### 第1章 软件配置管理概述 **软件配置管理(SCM)** 是一种系统性的方法,用于管理软件开发过程中的不同版本及其相关文档。它的核心目标是确保团队成员始终使用同一版本的...
2. **Oracle数据库**:Oracle是世界上最流行的商业关系型数据库管理系统之一,以其高性能、高可用性和安全性著称。在开发中,Oracle数据库常用于大型企业级应用。 3. **逆向工程**:逆向工程在软件开发中是指通过...
该公司秉承“真诚、务实、创新、服务”的经营理念,不仅通过了广东省信息产业厅的“双软企业”认证,而且成为了国内建设领域中备受认可的IT应用高新技术企业之一。 #### 二、EPRO工程项目管理系统的概述 《EPRO...
- 在使用BSCMAKE工具时,.SBR文件作为输入文件之一。 #### .TLB:OLE库文件 - **定义**:TLB文件是OLE类型的库文件。 - **用途**:这些文件包含了OLE自动化对象的数据类型和接口定义。 - **示例**: - 在开发需要...
Java工程打JAR包工具是Java开发者常用的工具之一,它能将Java源代码编译、打包成可执行的JAR(Java Archive)文件。JAR文件是Java平台特有的归档格式,它允许将多个类文件和其他资源组合到一个单一的文件中,便于...