Dao工厂
在总结Dao工厂模式之前,先来了解一下Dao模式
Dao模式 作用:降低 业务操作 和 表操作的基础类的耦合性
Dao模式:主要有三个角色
1.Dao接口:提出规范 规范所有的基础操作函数名称
2.Dao实现类:实现Dao接口,实现具体函数操作
3.Dao工厂:工厂模式 负责创建实现类对象
下面是 Dao工厂模式的实现方式
1.先将允许被工厂获取的类通过 key-value的方式 写到.properties文件中
2.在工厂类中 获取配置文件信息
3.通过 反射生成该类名字符串的 实例对象
//Dao工厂 通过反射来获取指定的对象
public class DaoFactory {
private static Properties prop = new Properties();
static{//使用静态块 获取配置信息
try {
prop.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("dao.properties"));
} catch (IOException e) {
System.out.println("获取工厂配置文件失败");
e.printStackTrace();
}
}
public static Object getInstance(String name){
//获取 要创建的实现类 类名
String objstr = prop.getProperty(name);
Object obj = null;
try {
//通过反射 生成对应该类名 字符串 的实例对象
obj = Class.forName(objstr).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return obj;
}
}
### 工厂模式 是一种很方便地创建 各种类型 对象的方式,只需要改变 传入工厂获取实例的参数
### 就可以获取配置文件中 所有的类的class对象,从而实现创建各种对象实例