单例模式读取配置文件只创建一次

package com.jy.modules.util;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

import org.apache.commons.lang.StringUtils;
/**
 *
 * @description  功能描述:
 * @author            作        者: zhouzhiwei
 * @param                   参         数: 单例模式读取配置文件只创建一次
 * @createdate   建立日期: 2015年6月9日下午5:55:35
 * @projectname  项目名称: cms
 * @packageclass 包及类名: com.jy.modules.util.SystemConfigUtil.java
 */
public class SystemConfigUtil {

    private static SystemConfigUtil systemConfigUtil = null;
    private static Map<String, String> proMap = new HashMap<String, String>();

    @SuppressWarnings("rawtypes")
    private SystemConfigUtil() throws Exception {
        InputStream is = null;
        try {
            Properties pro = new Properties();
            is = getClass().getResourceAsStream("/filesystem.properties"); //默认在根目录下
            pro.load(is);
            Enumeration e = pro.propertyNames();
            while (e.hasMoreElements()) {
                Object object = (Object) e.nextElement();
                String value = (String) pro.get(object);
                proMap.put((String) object, value);
            }
        } catch (Exception e2) {
            e2.printStackTrace();
        } finally {
            try {
                is.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    }

    public static Map<String, String> getproMap() {
        return proMap;
    }

    public static SystemConfigUtil getInstance() throws Exception {
        if (systemConfigUtil == null) {
            systemConfigUtil = new SystemConfigUtil();
        }
        return null;

    }

    @SuppressWarnings("static-access")
    public static String  getValue(String mapkey) throws Exception{
        SystemConfigUtil m = SystemConfigUtil.getInstance();
        Map map = m.getproMap();
        if(StringUtils.isNotBlank(mapkey)){
        String key = (String) map.get(mapkey);
        return key;
        }
        return mapkey;
    }

}
时间: 2024-10-11 01:06:52

单例模式读取配置文件只创建一次的相关文章

依赖注入之setter注入---只需修改配置,电脑就可以安装不同的打印机;读取properties配置文件并创建实例;实现不采用new的方式直接实例化对象

1.项目截图 2.黑白打印机类 package com.example.demo.printer; public class GrayPrinter implements Printer{ @Override public void init() { System.out.println("启动打印机"); } @Override public void print(String txt) { System.out.println("打印黑白文字:".concat(

DBCP连接池-方式1通过读取配置文件

连接池核心类DataSource 基于这个这个核心类,创建连接池也有多种方式,下面是方式一,通过读取配置文件的方式,创建数据库的连接池. DBCPUtils.java package com.itheima.a_dbcp; import java.io.InputStream; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; import javax.sql.DataSo

Java中读取配置文件(properties、xml)

1. 利用java.util提供的工具类Properties - 首先我这边有个file.properties文件 - 然后去读取这个文件 注意项目路径 //注意ProConfigUtil是当前类,也可用this替代 InputStream inputStream = PropConfigUtil.class.getClassLoader() .getResourceAsStream("config/file.properties"); Properties pro = new Pro

搭建轻量级Jave Web框架----------读取配置文件

? 版权声明:本文为博主原创文章,转载请注明出处 目录: 1.搭建轻量级Jave Web框架----------框架说明 2.搭建轻量级Java Web框架----------读取配置文件 说明: 搭建框架的第一步就是配置文件的读取,这里使用jdk自带的Properties类读取配置文件. 为了准确获取配置文件中的各个键值对的信息,还需要一个工具类进行强制类型转换. 读取过程中还需要进行一些非空的校验等,因此还需要一个工具类对String的一些常用操作进行封装. 总结一下,需要四个java类完成

java web路径和spring读取配置文件

此篇博客缘起:部署java web系统到阿里云服务器(ubuntu14.04)的时候,有以下两个问题 找不到自定义的property配置文件 上传图片的时候找不到路径 开发的时候是在windows上的,运行正常,部署的时候就出问题了,肯定是windows和linux路径区别导致的(一个小问题来回鼓捣了几个小时,因为有自己对windows下和linux下的区别还不是特别了解,还有就是每次在windows下修改完成以后都要重新上传到阿里云,项目较大来回也需要较多时间...),遂决定好好看看java

利用java反射机制 读取配置文件 实现动态类加载以及动态类型转换

作者:54dabang 在spring的学习过程之中,我们可以看出通过配置文件来动态管理bean对象的好处(松耦合 可以让零散部分组成一个整体,而这些整体并不在意之间彼此的细节,从而达到了真正的物理上的疏散耦合,而非逻辑,有了IOC之后,我们可以让SPRING充当各框架中的整合器,把技术框架进行完美的结合). Spring实现的一个重要的机制是通过反射(java.lang.reflect)读取配置文件,通过配置文件来动态生成配置文件中的类对象.Java动态加载类主要是为了不改变主程序代码,通过修

selenium+python自动化测试--读取配置文件(.ini)

前言:今天为什么要整理读取配置文件呢?原因是:公司正在做的项目,操作页面时都是根据路由跳转,由于自己经验尚浅,将url地址写在每个用例中,导致每次开发一更改路由,我就要去每个页面中修改url地址,光来来回回找页面就很费时间,所以就想到了用配置文件,将所有url地址放在一个文件中,页面用到哪个时读取哪个. 一.基础了解 ini ini配置文件格式如下: ;这里是注释 [section0] key0 = value0 key1 = value1 [section1] key2 = value2 ke

转:java读取配置文件的几种方法

转自: http://www.iteye.com/topic/56496 在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据笔者工作中用到的读取配置文件的方法小小总结一下,主要叙述的是spring读取配置文件的方法. 一.读取xml配置文件 (一)新建一个java bean(HelloBean.java) java 代码 package chb.demo.vo;   public class HelloBean {   private String hell

【无私分享:ASP.NET CORE 项目实战(第八章)】读取配置文件(二) 读取自定义配置文件

目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 我们在 读取配置文件(一) appsettings.json 中介绍了,如何读取appsettings.json. 但随之产生了问题:我们使用的是在 Startup.cs 中(如下图)来实现配置读取,有两个问题 ① 我们如果定义N种配置,是否要再这里添加N条这样的配置 : ② 如果我们的配置不想写在appsettings.json中呢 解决问题 带着上面的两个问题,我们首先来添加一个配置文件 siteconfig.json