简单⼯⼚的设计
package com.baizhiedu.basic;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class BeanFactory {
private static Properties env= new Properties();
static{
try {
InputStream inputStream = BeanFactory.class.getResourceAsStream("/applicationContext.properties");
env.load(inputStream);
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static UserService getUserService() {
UserService userService =null;
try {
Class clazz =Class.forName(env.getProperty("userService"));
userService =(UserService) clazz.newInstance();
} catch
(ClassNotFoundException e) {
e.printStackTrace();
} catch
(InstantiationException e) {
e.printStackTrace();
} catch
(IllegalAccessException e) {
e.printStackTrace();
}
return userService;
}
public static UserDAOgetUserDAO(){
UserDAO userDAO = null;
try {
Class clazz =Class.forName(env.getProperty("userDAO"));
userDAO = (UserDAO)clazz.newInstance();
} catch
(ClassNotFoundException e) {
e.printStackTrace();
} catch
(InstantiationException e) {
e.printStackTrace();
} catch
(IllegalAccessException e) {
e.printStackTrace();
}
return userDAO;
}
}
## 通用工厂设计
public class BeanFactory{
public static Object getBean(String key){
Object ret = null;
try {
Class clazz = Class.forName(env.getProperty(key));
ret =clazz.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return ret;
}
}