通过ResourceBundle读取property配置文件

6人阅读 评论(0) 收藏 举报
分类:

ResourceBundle :
1)只能加载properties的配置文件
2)只能读取,不能修改和创建
3)创建ResourceBundle的过程是通过他的静态方法
getBundle(“配置文件的名称”)
4)配置文件路径的格式:和类路径相似
com/bean.properties == com.bean

/**
 *  bean工厂,通过此工厂获取接口的实现类对象
 *      所有的全限定类名:bean.properties文件中
 *
 *  一个请求创建一次对象:
 *    单例工厂:
 *      1.创建对象
 *          1).第一此访问:创建对象并存储
 *          2).从内存中获取已创建好的对象
 *      2.其他的线程都是使用以创建好的对象
 */
public class BeanFactory {

    /**
     * 解析properties文件
     */
    /**
     * ResourceBundle : 1)只能加载properties的配置文件
     *                  2)只能读取,不能修改和创建
     *                  3)创建ResourceBundle的过程是通过他的静态方法
     *                     getBundle("配置文件的名称")
     *                  4)配置文件路径的格式:和类路径相似
     *                     com/bean.properties  ==   com.bean
     * 
     */
    private static ResourceBundle  bundle = ResourceBundle.getBundle("bean");

    //map<唯一表示,实现类对象>
    public static Map<String,Object> map = new HashMap<>();

    static {
        //解析properties文件,并且存入到map集合中
        Enumeration<String> keys = bundle.getKeys();//配置文件中的所有key
        while(keys.hasMoreElements()) { //是否还有为处理的key
            String key = keys.nextElement();        //唯一表示
            String value = bundle.getString(key);   //全限定类名
            try {
                Class clazz = Class.forName(value);
                Object obj = clazz.newInstance();//创建的实现类对象
                map.put(key, obj);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    /**
     * className : 全限定类名的唯一表示(id)
     *      map中的key值
     */
    public static Object getBean(String className) throws Exception {
        return map.get(className);
    }
}
查看评论

ResourceBundle 类介绍 (二)源码分析

ResourceBundle 用到了很多java设计模式,其中模板方法用的比较多,很多设计技巧值得研究学习,该类为抽象类,如下方法ResourceBundle resource = ResourceB...
  • lxzo123
  • lxzo123
  • 2011-05-23 14:12:00
  • 3251

ResourceBundle和properties 读取配置文件区别

java.util.ResourceBundle 和java.util.properties 读取配置文件区别   这两个类都是读取properties格式的文件的,而Properties...
  • conolan
  • conolan
  • 2014-11-10 10:11:45
  • 2159

properties文件及ResourceBundle读取properties文件分析

一、properties文件介绍  java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是 "键=值"的格式,...
  • honghailiang888
  • honghailiang888
  • 2016-07-11 11:46:10
  • 2507

使用ResourceBundle读取配置文件

使用ResourceBundle读取配置文件 ---------------------------前言----------------  在项目中发现的这个类,最终从api和...
  • u014225431
  • u014225431
  • 2016-04-29 16:52:23
  • 442

Java中ResourceBundle类的使用

原文地址:http://tutorials.jenkov.com/java-internationalization/resourcebundle.html java.util.ResourceB...
  • Revivedsun
  • Revivedsun
  • 2016-05-06 14:15:04
  • 4612

java 读取配置文件 修改配置文件

ResourceBundle ClassLoader PropertiesLoaderUtils Name Description ResourceBundle 这个...
  • Cocoa_vip
  • Cocoa_vip
  • 2018-01-11 14:17:54
  • 52

JAVA操作properties配置文件——总结(Locale&ResourceBundle& PropertyResourceBundle)

一、简介 java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式。 在properti...
  • fanxiaobin577328725
  • fanxiaobin577328725
  • 2016-07-31 11:17:50
  • 3047

ResourceBundle中的中文乱码问题

在Java中,处理中文乱码一直是一个头疼的问题。这个问题的是由于区域设置和字符集引起的,具体这里不深究。我们都知道,在Java中,默认是使用latin1(iso8859-1)字符集的。我们处理中文的方...
  • Brookes
  • Brookes
  • 2007-02-12 16:26:00
  • 5621

ResourceBundle (读取properties文件及中文乱码解决方法)

public class test { static ResourceBundle rsb; /**  * @param args  * @throws UnsupportedEncodingExce...
  • joecheungdishuiya
  • joecheungdishuiya
  • 2011-04-06 16:34:00
  • 2931

java实现对属性文件的增删改查以及ResourceBundle使用详解

java实现对属性文件的增删改查以及ResourceBundle使用详解
  • mine_song
  • mine_song
  • 2017-06-01 10:18:07
  • 1098
    个人资料
    等级:
    访问量: 0
    积分: 147
    排名: 0
    文章存档
    最新评论