美文网首页
javaweb配置文件对象Properties管理

javaweb配置文件对象Properties管理

作者: pr0metheus | 来源:发表于2018-03-21 21:51 被阅读0次

在javaweb开发的时候我们一般将数据库连接信息配置到db.properties中,然后再通过io读入到输入流里,再通过流来创建Properties对象,从而可以根据对象Properties的方法getProperty(key)来获得value值,完成整个功能很容易,又碰巧数据库连接参数配置文件通常只要读取一次就可以了,所以这样做确实没啥问题,但如果系统里有一个配置文件并且整个系统的不同地方要去读取它,还使用上述的方法么,用当然也没问题,但是会出现大量的重复的properties对象,造成资源浪费,因此我们需要写一个公共类来管理Properties,思路就是将一个配置文件的properties对象存入到HashMap中key为配置文件的名字,这样下次其它地方要用这个配置文件的参数就可以直接从HashMap中取了。

代码如下:

package com.shengsiyuan.imis.util;

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

public class ConfigHelper {

    //作为Properties缓存
    public static Map<String, Properties> conf = new HashMap<String, Properties>();
    
    public static URL findResource(String configName) {
        
        URL resourceURL = null;
        resourceURL = Thread.currentThread().getContextClassLoader().getResource(configName);
        if (resourceURL != null) {
            return resourceURL;
        }
        
        resourceURL = ConfigHelper.class.getResource(configName);
        
        if (resourceURL != null) {
            return resourceURL;
        }
        
        resourceURL = ClassLoader.getSystemClassLoader().getResource(configName);
        
        return resourceURL;
        
    }
    
    public static Properties getProperties(String name) throws IOException {
        Properties prop = conf.get(name);
        if (prop == null) {
            InputStream is = findResource(name).openStream();
            prop = new Properties();
            prop.load(is);
            is.close();
            conf.put(name, prop);
            return prop;
        }
        return prop;
    }

}

相关文章

  • javaweb配置文件对象Properties管理

    在javaweb开发的时候我们一般将数据库连接信息配置到db.properties中,然后再通过io读入到输入流里...

  • JAVA

    配置文件 yaml properties 序列化Serializable 对象序列化的定义:将对象的状态转换成字节...

  • Properties类

    Properties类 Properties(配置文件类): 主要用于生产配置文件与读取配置文件的信息。 往pro...

  • SpringMVC配置rabbitMq

    添加依赖 添加配置类 辅助对象 Persion 消费者 生产者 rabbitmq.properties 配置文件 ...

  • Kafka基本配置

    服务端的配置文件--server.properties 生产端的配置文件--producer.properties...

  • 集合(二):Set,Queue,Stack

    1.读取配置文件 用Properties读取配置文件非常简单。Java默认配置文件以.properties为扩展名...

  • redis缓存存储、删除、查找、更新

    1,实际工程代码 配置文件 bootstrap.properties 接口 实现类 2,redis储存对象需要用到...

  • Java 读写Properties配置文件

    1.Properties类与Properties配置文件 Properties类继承自Hashtable类并且实现...

  • Spring入门

    spring @(JAVAWEB) 介绍(基于spring 4.2.4)对象的容器,spring负责管理项目中的所...

  • dubbo与zookeeper快速入门

    导包: 首先在公共模块创建zk.properties配置文件 与dubbo.properties配置文件 然后在 ...

网友评论

      本文标题:javaweb配置文件对象Properties管理

      本文链接:https://www.haomeiwen.com/subject/juvnqftx.html