工厂模式
1.什么时候使用工厂模式:
核心:工厂模式的核心思想就是实例化对象.
说明:某个写对象可能需要特定的参数,可能是抽象类,也可能是接口等等.不能直接实例化的,需要采用工厂模式.
2.静态工厂
核心:通过类名.静态方法的方式创建对象
(1)工厂代码:
public class StaticFactory { //静态工厂必须有静态方法 public static Calendar getIn(){ return Calendar.getInstance(); } }
(2)工厂配置文件
<!--配置静态工厂 --> <bean id="calendar1" class="com.jt.manage.factory.StaticFactory" factory-method="getIn"/>
3.实例化工厂
核心:先实例化工厂对象,之后利用工厂对象.工厂方法实例化对象
(1)代码:
public class InsFactory { public Calendar getIns(){ return Calendar.getInstance(); } }
(2)配置文件
<!--实例化工厂 --> <bean id="insFactory" class="com.jt.manage.factory.InsFactory"/> <bean id="calendar2" factory-bean="insFactory" factory-method="getIns"/>
4.Spring工厂
(1)
public class SpringFactory implements FactoryBean<Calendar>{ //当程序加载该类时,容器内部会自动的调用getObject方法 @Override public Calendar getObject() throws Exception { return Calendar.getInstance(); } @Override public Class<?> getObjectType() { // TODO Auto-generated method stub return Calendar.class; } @Override public boolean isSingleton() { // TODO Auto-generated method stub return false; } }
(2)配置文件
<bean id="calendar3" class="com.jt.manage.factory.SpringFactory"/>