1.直接上代码
package com.sinohonour.ciprobe.control.factory;
public class BasicFactory {
/**
* @author Administrator
* @date : 2017年10月16日 上午11:36:13
*/
private static BasicFactory factory = new BasicFactory();
private BasicFactory() {}
public static BasicFactory getFactory(){
return factory;
}
/**
* 实例化对象
*
* @author Liliang Zuo
* @data 2017年10月16日
* @param t 接口类型
* @param str input或output具体实现类的配置文件标识
* @return
*/
public <T> T getInstance(Class<T> t,String str){
try {
Class Clz2 = Class.forName(str);
return (T)Clz2.getConstructor().newInstance();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException();
}
}
}
2.使用
String classname = PropUtil.getProperty(string);
Execute instance = BasicFactory.getFactory().getInstance(Execute.class, classname);