`

管理配置文件

    博客分类:
  • java
 
阅读更多

建立管理读取配置文件类:

public class ConfigManager {

    private static final Log log = LogFactory.getLog(ConfigManager.class);

    private static Configuration config;

    private static ConfigManager instance;

    private ConfigManager() {
        loadConfig();
    }

    public static ConfigManager getInstance() {
        if (instance == null) {
            synchronized (ConfigManager.class) {
                instance = new ConfigManager();
            }
        }
        return instance;
    }

    public void loadConfig() {
        loadConfig("config.xml");
    }

    public void loadConfig(String configFileName) {
        try {
            ConfigurationFactory factory = new ConfigurationFactory(
                    configFileName);
            config = factory.getConfiguration();
            log.info("Configuration loaded: " + configFileName);
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
            throw new RuntimeException("Configuration loading error: "
                    + configFileName, ex);
        }
    }

    public Configuration getConfig() {
        return config;
    }

}

 读取配置文件类:

public class Config {

    public static String getString(String key) {
        return ConfigManager.getInstance().getConfig().getString(key);
    }

    public static String getString(String key, String def) {
        return ConfigManager.getInstance().getConfig().getString(key, def);
    }

    public static int getInt(String key) {
        return ConfigManager.getInstance().getConfig().getInt(key);
    }

    public static int getInt(String key, int def) {
        return ConfigManager.getInstance().getConfig().getInt(key, def);
    }

    public static long getLong(String key) {
        return ConfigManager.getInstance().getConfig().getLong(key);
    }

    public static long getLong(String key, long def) {
        return ConfigManager.getInstance().getConfig().getLong(key, def);
    }

    public static float getFloat(String key) {
        return ConfigManager.getInstance().getConfig().getFloat(key);
    }

    public static float getFloat(String key, float def) {
        return ConfigManager.getInstance().getConfig().getFloat(key, def);
    }

    public static double getDouble(String key) {
        return ConfigManager.getInstance().getConfig().getDouble(key);
    }

    public static double getDouble(String key, double def) {
        return ConfigManager.getInstance().getConfig().getDouble(key, def);
    }

    public static boolean getBoolean(String key) {
        return ConfigManager.getInstance().getConfig().getBoolean(key);
    }

    public static boolean getBoolean(String key, boolean def) {
        return ConfigManager.getInstance().getConfig().getBoolean(key, def);
    }

    public static String[] getStringArray(String key) {
        return ConfigManager.getInstance().getConfig().getStringArray(key);
    }

    @SuppressWarnings("unchecked")
    public static List getList(String key) {
        return ConfigManager.getInstance().getConfig().getList(key);
    }

    @SuppressWarnings("unchecked")
    public static List getList(String key, List def) {
        return ConfigManager.getInstance().getConfig().getList(key, def);
    }

    public static void setProperty(String key, Object value) {
        ConfigManager.getInstance().getConfig().setProperty(key, value);
    }

}

 配置文件:

config.xml

<?xml version="1.0" encoding="UTF-8" ?>

<configuration>
	<system />
	<properties fileName="config.properties" />
</configuration>

 config.properties  添加key 和value

 

分享到:
评论

相关推荐

    MAC的颜色配置文件

    总的来说,MAC的颜色配置文件是优化跨平台颜色一致性的重要工具,无论你是在Mac还是Windows系统上工作,正确地应用和管理这些配置文件都能显著提升你的视觉体验,特别是在处理色彩至关重要的任务时。

    配置文件-for linux

    管理配置文件时,需要谨慎操作,因为错误的修改可能导致服务中断或系统不稳定。通常,备份原文件、理解文件结构和含义、使用文本编辑器(如vi或nano)进行修改,并在修改后验证服务行为是必要的步骤。同时,版本控制...

    一个很方便的.net配置文件管理类,省去类型转换之类的麻烦,

    总的来说,这个类库为.NET开发者提供了一个便捷的方式来管理配置文件,通过封装底层的XML解析和类型转换,使得配置文件的读写更加直观和高效,同时支持自定义配置格式,提高了代码的可维护性和扩展性。对于那些不...

    大型项目的struts,spring配置文件

    5. 配合使用Maven或Gradle等构建工具,自动合并和管理配置文件,确保部署一致性。 总之,理解和熟练掌握Struts和Spring的配置文件对于开发大型项目至关重要。正确配置和管理这些文件能够确保系统的稳定运行,提高...

    完整版配置文件扩充操作模块.rar

    - 在这个上下文中,操作模块可能是代码库的一部分,提供接口和工具来读取、解析、更新和管理配置文件。 - 模块可能包括错误检查、验证配置的有效性、处理继承和覆盖机制,以及动态加载配置等功能。 - 模块可能...

    go-admin-配置文件

    标题: Go-Admin 配置文件指南 知识点概述: Go-Admin 是一个基于 Golang 的快速开发管理后台系统,它通过结合 Gin 框架、Vue 前端技术和 ...正确地管理配置文件,不仅可以提高项目的安全性,还能提高开发和部署的效率。

    vSphere 主机配置文件 5.5

    vSphere 主机配置文件是VMware vSphere虚拟化平台的一个重要组成部分,它允许IT管理员创建、管理和应用配置文件来标准化和自动化vCenter Server中的ESXi主机配置。使用vSphere主机配置文件可以提高效率并减少重复...

    Linux下Firefox文件配置技巧.pdf

    本资源详细介绍了Linux下Firefox文件配置技巧,涵盖了配置文件夹的路径、管理配置文件、user.js文件的使用、userChrome.css文件的使用等方面的知识点。 一、配置文件夹的路径 在Windows系统中,配置文件夹的路径...

    完整版配置文件扩充操作模块示例.rar

    "完整版配置文件扩充操作模块示例"是一个压缩包,它可能包含了用于演示如何扩展和管理配置文件的实例。以下是对这个主题的详细讲解: 1. **配置文件的结构与格式**:配置文件可以有多种格式,如JSON、XML、YAML或...

    Linux命令行配置文件_Allconf.zip

    掌握这些工具的使用对于系统管理员和开发人员来说是必不可少的,因为它们能够高效地帮助用户管理配置文件,完成复杂的配置任务。 此次提供的压缩包文件名为“Allconf-master”,可以推测该压缩包可能包含了多个与...

    SourceInsight 4.0配置文件

    4. **项目设置**:如果你在SourceInsight中管理项目,配置文件会存储项目相关的设置,如编译器路径、编译选项、头文件搜索路径等。 5. **其他个性化设置**:还包括代码折叠设置、查找和替换历史、最近打开文件列表...

    中兴配置文件 解密工具,测试F650 可用

    3. 大规模部署:在多台F650设备的批量部署中,统一管理配置文件可以提高效率并保证一致性。 总的来说,"中兴配置文件解密工具"是网络管理员和专业技术人员的利器,它简化了对中兴F650光猫等设备加密配置文件的管理...

    配置文件jar包

    "配置文件jar包"是一个集合,它将多个配置文件和必要的Java档案(jar文件)整合在一起,方便开发人员或系统管理员在部署和运行软件时使用。下面将详细探讨配置文件和jar包的相关知识点。 首先,配置文件通常以文本...

    mac的颜色配置文件

    总的来说,mac的颜色配置文件是提高显示设备色彩准确性的关键工具,尤其对那些依赖视觉精确度的专业人士而言,正确使用和管理这些配置文件至关重要。而跨平台的支持则意味着,无论你在mac还是Windows系统上,都能...

    Spring Boot多模块配置文件读取

    本文将详细探讨如何在Spring Boot的多模块项目中管理和使用不同的配置文件,以实现低耦合的设计。 首先,了解Spring Boot的默认配置机制。Spring Boot的核心理念是简化配置,它通过`application.properties`或`...

    海康威视配置文件解码专用工具器.rar

    海康威视作为全球知名的...总之,“海康威视配置文件解码专用工具器”是管理与维护海康威视设备不可或缺的辅助工具,通过它,用户可以更便捷地理解和调整设备配置,从而优化设备性能,提升监控系统的稳定性和安全性。

    通过SNMP进行配置文件管理举例

    ### 通过SNMP进行配置文件管理的关键知识点 #### 1. SNMP概述与作用 - **SNMP**(Simple Network Management Protocol)是一种应用层协议,主要用于网络管理中的数据采集和设备管理。 - **NMS**(Network ...

    分享一个轻量级的配置文件管理器

    先说一下传统的配置文件,有哪些缺点, 如果您有共鸣,那么我将会很高兴该工具应该可以帮助您减轻一些工作。 1:如果一个程序拥有多个配置文件,那么我相信大多程序员都会因为操作XML配置文件,而感到痛苦; 2:在程序...

    系统配置文件的使用

    在EBS界面中,管理员可以在“系统管理员”&gt;“配置文件”&gt;“系统”下,为不同的层次设置配置值。当程序运行时,通过`FND_PROFILE.value('CUX_TEST_WZJ')`函数,系统会根据当前环境获取相应的配置值。 1. **常用的...

Global site tag (gtag.js) - Google Analytics