工厂模式

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"/>

 

 

posted @ 2019-09-27 09:03  我爱si搬砖  阅读(191)  评论(0编辑  收藏  举报