package cn.itcast.utils;
import java.io.InputStream;
import java.util.Properties;
import cn.itcast.dao.UserDao;
//单例设计模式,
public class DaoFactory {
private UserDao userdao = null;
//构造函数只执行一次
private DaoFactory(){
try{
InputStream in = DaoFactory.class.getClassLoader().getResourceAsStream("dao.properties");
Properties prop = new Properties();
prop.load(in);
String daoClassName = prop.getProperty("userdao");//获取配置文件的属性
userdao = (UserDao) Class.forName(daoClassName).newInstance();
}catch(Exception e){
throw new RuntimeException();
}
}
private static final DaoFactory instance = new DaoFactory();
//注意是静态
public static DaoFactory getInstance(){
return instance;
}
public UserDao createUserDao(){
return userdao;
}
}
//在业务处理实现的调用
UserDao dao = DaoFactory.getInstance().createUserDao();