spring之工厂类
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);//由键取值 } }
有问题请随时留言或提出指点,谢谢呀~