一、工厂原理
Class.forName("实现类全限定名").newInstance();
二、创建简单对象
简单对象:能通过new关键字创建的对象
工厂创建时:<bean class="" id="" />
三、创建复杂对象
复杂对象:不能通过new关键字创建的对象,如接口(connection)、抽象类(Calender,MessageDisgest)
工厂创建时:
① 先创建一个xxxFactroyBean类 去实现 FactoryBean<T>接口,完成覆盖接口中的3个方法
public class CalendarFactoryBean implements FactoryBean<Calendar> {
//书写复杂对象创建的方式
@Override
public Calendar getObject() throws Exception {
return Calendar.getInstance();
}
//指定创建的复杂对象的类型
@Override
public Class<?> getObjectType() {
return Calendar.class;
}
//指定复杂对象是不是单例,false:多例,true:单例
@Override
public boolean isSingleton() {
return true;
}
}
② 在xml文件中管理对应类即可完成复杂对象的创建
<bean class="xxxFactroyBean全限定名" id="xxx" >
③ 在工厂中获取使用即可