spring之工厂类

package factory;

import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

public class Factory {
    public static Map<String,Object> bean = new HashMap<String, Object>();//存放配置文件对象
    public static Properties properties;
    static{
        properties = new Properties();
        InputStream is = Factory.class.getClassLoader().getResourceAsStream("pro.properties");//类加载器获取配置文件
        try {
            properties.load(is);//加载资源文件
            Enumeration keys = properties.keys();//获取所有键
            while(keys.hasMoreElements()) {//条件

                String key = keys.nextElement().toString();//下一个有值
                String value = properties.getProperty(key);//由键取值
                Class cls = Class.forName(value);//加载进内存
                Object o = cls.newInstance();//创建对象
                bean.put(key, o);
            }
            }catch (Exception e) {
                e.printStackTrace();
            }
        System.out.println(bean);
    }
    public static Object getPath(String path){
        return bean.get(path);//由键取值
    }
}

有问题请随时留言或提出指点,谢谢呀~

猜你喜欢

转载自www.cnblogs.com/pikajiu/p/11335061.html