package cn.lnu.factory; import java.io.InputStream; import java.util.Properties; //ʹ�ù�������ȫ����service����dao��֮�����ϵ������Ҫ�ѹ������ɵ����� public class DaoFactory { private static Properties daoconfig=new Properties();//��dao�������ļ���Ϣ���ص�prop���� static{ try{ InputStream in=DaoFactory.class.getClassLoader().getResourceAsStream("dao.properties"); daoconfig.load(in); }catch(Exception e){ throw new RuntimeException(e); } } private DaoFactory(){} private static DaoFactory instance=new DaoFactory(); public static final DaoFactory getInstance(){ return instance; } //�ṩһ����������dao public static <T> T createDao(Class<T> interfaceClass){ String name=interfaceClass.getSimpleName();//�������ӿڵļ����ƣ��������UpfileDao //�������ļ��������ӿڵ�ʵ��ʵ������,������Ҫ����dao��ʵ������ String daoClassName=daoconfig.getProperty(name);//cn.lnu.dao.impl.UpfileDaoImpl //�õ��ӿ�ʵ�����ʵ��������ͨ�����似����������࣬����һ�����ʵ�����ʵ�� try { return (T) Class.forName(daoClassName).newInstance(); } catch (Exception e) { throw new RuntimeException(e); } } }