`

管理配置文件

    博客分类:
  • 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

 

分享到:
评论

相关推荐

    利用zookeeper统计管理配置文件

    本文介绍了如何利用Zookeeper来统计和管理配置文件。 首先,配置文件的管理是现代应用中非常重要的一个方面。应用需要根据不同环境(如开发环境、测试环境、生产环境等)来使用不同的配置,或者根据业务需求变更...

    MAC的颜色配置文件

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

    配置文件-for linux

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

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

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

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

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

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

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

    交换机配置文件管理操作

    ### 交换机配置文件管理操作 #### 1.1 配置文件简介 配置文件是存储用户对以太网交换机进行的各种配置信息的关键文件,它记录了用户配置的全部细节,使得用户能够轻松地回顾之前的配置步骤。对于H3C S5100系列...

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

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

    设置配置文件信息

    "设置配置文件信息"这个主题涉及到如何读取、修改和管理这些文件,以便优化软件的性能或者适应不同的工作环境。下面我们将详细探讨这个主题。 1. **配置文件的格式** 配置文件通常有多种格式,如`.ini`(初始化...

    笔记本颜色配置文件

    总的来说,颜色配置文件是色彩管理的重要组成部分,尤其对于那些需要精确色彩显示的用户来说。通过正确地安装和使用这些文件,可以显著提升笔记本屏幕的色彩准确性,减少色差,为用户提供更佳的视觉体验。

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

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

    配置文件jar包

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

    SourceInsight 4.0配置文件

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

    Spring Boot多模块配置文件读取

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

    AD用户设置配置文件.pdf

    通过集中把用户的配置文件(profiles)放在一个共享文件夹上,实现了用户配置文件的集中管理和备份。 关键词:用户帐户、活动目录、配置文件、漫游配置文件、profiles 知识点: 1. 什么是漫游配置文件? 漫游...

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

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

    linux c 配置文件读写

    在Linux系统中,C语言开发过程中,经常需要与配置文件打...通过解析和重构文件内容,可以实现对配置文件的有效管理和更新。提供的示例代码可能展示了这一过程,通过对这些代码的分析和学习,可以加深对这一主题的理解。

    软件安装管理器 V3.3.2.2┊附配置文件编写器 V1.0.0

    《软件安装管理器 V3.3.2.2与配置文件编写器 V1.0.0详解》 在IT行业中,高效便捷的软件部署和管理是至关重要的环节。"软件安装管理器 V3.3.2.2" 和 "配置文件编写器 V1.0.0" 正是为了解决这个问题而设计的两款工具...

Global site tag (gtag.js) - Google Analytics