spring in action 学习笔记(三)通过工厂方法创建bean

来源:互联网 发布:照片影集制作软件 编辑:程序博客网 时间:2024/05/10 05:21

上两节,我们讲到了一个场景选秀大赛,用两个杂技师讲述了通过构造方法注入基本类型和引用类型,这节,我们来学习下通过工厂方法来创建bean。

选秀大赛的选手是需要一个舞台的,这个舞台只有一个,到这里,反应快的人已经知道了可以用单例模式,同一个类的对象,上下文中只有一个。

首先,我们来创建一个单例,单例的实现方式有很多种,通过内置锁的方式,懒汉式,饿汉式,IoDH,有关单例模式的实现,可以参考其他博客。

/** * Created by csucoderlee on 2017 10 06 16:28. * 通过Initialization on demand holder的方式来创建一个舞台的单例 */public class Stage {    private Stage(){}    private static class StageSingleHolder{        static Stage instance = new Stage();    }    public static Stage getInstance(){        return StageSingleHolder.instance;    }}

由于舞台的构造方法是私有的,所以外部就不能通过构造器来注入这个bean,幸好,<bean>有一个属性,允许我们指定一个方法,来代替一个类的构造方法来创建一个类的实例


    <bean id="stage" class="com.springinaction.ch02.Stage" factory-method="getInstance"/>


阅读全文
0 0
原创粉丝点击