前言:
spring用了哪些代理模式,
这个可以引出设计模式。
1.工厂模式
BeanFactory就是简单工厂模式的体现,用来创建对象的实例;
import java.util.ResourceBundle;
/**
* 使用此工厂类创建bean实例
*/
public class BeanFactory {
//加载配置文件
private static ResourceBundle bundle;
static {
bundle = ResourceBundle.getBundle("instance");
}
//根据指定的key,读取配置文件的全路径,创建对象
public static <T>T getInstance(String key,Class<T> clazz){
String className = bundle.getString(key);
try {
return (T)Class.forName(className).newInstance();
}catch (Exception e){
throw new RuntimeException();
}
}
}
2.单例模式
Bean默认为单例模式