userdaofactory.java

来自「在学习完JAVA基础后,做的一个小小的项目.一个简单的聊天程序.呵呵,看看吧,那」· Java 代码 · 共 38 行

JAVA
38
字号
package server.dao;
import java.io.*;
import java.lang.reflect.*;
public class UserDAOFactory {
	private static UserDAOFactory instance=new UserDAOFactory();
	private UserDAOFactory(){}
	public static UserDAOFactory newInstance(){
		return instance;
	}
	public synchronized UserDAO getUserDAO(){
		//读取配置文件
		try {
			FileReader fr=new FileReader("config/DAO.config");
			BufferedReader in=new BufferedReader(fr);
			String daoClassName=in.readLine();
			String fileName=in.readLine();
			in.close();
			/*  僵化的硬编码
			if (daoClassName.equals("server.dao.TextFileUserDAO")){
				UserDAO dao=new server.dao.TextFileUserDAO(fileName);
			}
			*/
			
			//反射的根据类名来构造DAO对象
			
			Class c=Class.forName(daoClassName);
			Constructor con=c.getConstructor(String.class);
			Object o=con.newInstance(fileName);
			return (UserDAO)o;
			
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		} 
		
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?