Java单例和Properties加载*.properties文件

来源:互联网 发布:屏幕防蓝光软件 编辑:程序博客网 时间:2024/05/19 20:46

1 . Java单例和Properties加载*.properties文件

代码文件FileUploadProperties.java:

public void FileUploadProperties{    private Map<String, String>properties = new HashMap<String, String>();    private FileUploadProperties(){}    private static FileUploadProperties instance = new FileUploadProperties();    public static FileUploadProperties getInstance(){        return instance; //单例模式    }    puiblic void addProperty(String propertyKey, String propertyValue){        properties.put( propertyKey, propertyValue);    }    public String getProperty(String propertyKey){        return properties.get(propertyKey);    }}

代码文件FileUploadListener.java:

InputStream in = getClass().getClassLoad().getResourceAsStream("/FileUpload.properties");Properties properties = new Properties();properties.load(in);for(Map.Entry<Object, Object>property:properties.EntrySet){    String propertyKey = (String) properties.getKey();    String propertyValue = (String) properties.getValue();    FileUploadProperties.getInstance().addProperties( propertyKey, propertyValue);}

上述代码中:
1 . 单例模式选用饿汉单例模式(线程安全),类中只允许一个实例。
2 . 解析的*.properties是放在Src目录下的。
3 . 针对Map中,采用Map.Entry可以无需知道具体的键,而依次利获取键值,是一个不错的方法。
4 . 对于文件的加载时机,利用监听器中的初始化函数,在Tomcat容器启动时,就把资源加载。

0 0
原创粉丝点击