package objectfactory;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
public class ObjectFactory {
//key是实例的名字,比如server,b;
//value是对象,通过配置文件等号右边内容而产生的一个实例对象
static Map<String,Object>objs = new HashMap<>();
static {
BufferedReader br = null;
try {
//文件名为:objects.properties
br = new BufferedReader(new InputStreamReader(ObjectFactory.class.getResourceAsStream("objects.properties")));
//br = new BufferedReader(new InputStreamReader(new FileInputStream("D:\\workspace\\javaTest\\src\\objectfactory\\objects.properties")));
String s;
while((s=br.readLine())!=null)
{
System.out.println(s);
String[]split =s.split("=");
Class<?>name = Class.forName(split[1]);
//产生实例对象
Object obj = name.newInstance();
objs.put(split[0], obj);
}
}catch(Exception e)
{
e.printStackTrace();
}
}
public static Object getObject(String key)
{
return objs.get(key);
}
public static void main(String[] args) {
Object o = ObjectFactory.getObject("b");
}
}
Java对象工厂(ObjectFactory)
最新推荐文章于 2024-05-22 23:27:09 发布