`

管理配置文件

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

 

分享到:
评论

相关推荐

    有关mybatis+spring的管理配置文件

    有关mybatis+spring的管理配置文件

    MAC的颜色配置文件

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

    vSphere 主机配置文件指南

    管理配置文件部分涉及配置文件的日常操作,例如创建、编辑、删除等。 检查合规性是主机配置文件管理的一个重要方面。管理员可以使用这个功能来识别出配置差异,确保所有主机的配置都符合预定的标准。这一步骤对于...

    配置文件-for linux

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

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

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

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

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

    Nacos配置中心和Git在idea中的使用.zip

    使用Nacos配置中心,可以简化对SpringBoot项目中的配置,更容易管理配置文件 Git是用于将本地代码上传到仓库的一种工具,在idea中配置git,可以方便的将本地代码上传到中央仓库,在团队开发中是一个必备的技能

    交换机配置文件管理操作

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

    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或...

    笔记本颜色配置文件

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

    SourceInsight 4.0配置文件

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

    Spring Boot多模块配置文件读取

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

    mac的颜色配置文件

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

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

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

    AD用户设置配置文件.pdf

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

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

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

    C++读写ini配置文件

    "rwconfig.cpp"和"rwconfig.h"文件可能已经实现这些功能,通过它们,你可以方便地在C++项目中管理配置信息,无需从头开始编写代码。只需根据具体需求进行适当的修改,就可以满足不同项目的配置管理需求。

Global site tag (gtag.js) - Google Analytics