00:00
我们来看一下这个bin的配置方式。就是如何配置bin,前边呢我们已经配过了好多B了,是吧,主要是在那个bin节点的class属性里边来配置,配一个bin的全类名,底层呢用的是反射机制。那实际上除了这种方式以外呢,我们还可以通过工厂方法跟factory bin的方式来配置B,这个我们在整合第三方框架的时候的话呢,都有用到。OK,我们先来说通过工厂方法来配置病。这个工厂方法呢,又可以称为呃,又可以分为静态工厂方法跟实力工厂方法。首先建一个包。Factory。然后呢,我们好以前的一个。
01:00
来二。为了创建方便,我写一个代餐的构造题。我们先来搞这个静态工厂方法。Addict。Factory。叫静态工厂方法。首先说什么叫静态工厂方法呀,就是直接调用某一个A的静态方法。又可以返回。病的实力。写一个静态方法public。Addict car a car。
02:02
Return。那翻一个参数,嗯。Name。写一个。静态的属性obstic string2。X等于六七。我们在。静态代码块里边去对它进行初始化,等于点。奥迪u car。D。价格30万。不错。40万。好,我们就是根据这个品牌呢,返回对应的实例。
03:04
Ask that。那这个方法就是一个静态工厂方法。病态。工厂方法什么意思啊?我在不需要创建这个工厂对象的情况下,可以通过这个静态方法返回对应的实例。好了,下面我们看如何在我们的这个配置文件里边,通过这个静态工厂方法来配置这个car实例,注意哈,配置car,而不是配置这个。Static car factory。配置文件ins。XML。第一个。通过静态工厂方法来。
04:01
配置。注意。不是配置静态工厂方法实例。而是。配置并实力。BI。AD2E。Class一样写的,我们还叫sta。Are dead?下边。诶,我要配一个factory method这个方法对吧,那方法吗?这个时候呢,我们在到这个定态方法的时候,是不需要传一个参数啊。通过。On窗阿来穿。六比方说返回一个奥迪。那就可以了。
05:00
写一个方法设置一下。Mean。Application。Contact等于new plus plus application contact。In。Factory的X。R21等于ctx减B。等转。RE。So。OK。运行看一下效果。
06:01
看到了吧,啊,奥迪30万没问题,这个就是静态工厂方法。再回来。详细说吧。Class属性。指向。静态工厂方法的全类名对吧。An。就像。静态。工厂方法的名字化名。还有一个。Con us。如果工厂方法。
07:02
工厂方法需要传入参数,则。使用。来配置参数。这就是我们所谓的叫静态抗方法。大家可以参照我这个代码呢,也可以来参照我们这个PPT,把这个实例的话呢,来写一下。下一个我们来看这个叫这个竞算工厂方法啊,下一个来看这个叫实例工厂方法。什么叫实力工程方法呀,就是说。并不是通过静态方法返回的这个,嗯,返回的这个对象,而是通过实例。而是通过非静态方法,就是说我这个时候我要是返回那个对象的话呢,我一定要事先先创建这个工厂对象本身叫实力工厂方法,实例工厂方法。
08:04
搞一个。Car。Factory。Rave。Map。等于now。Intense。等于六哈希map。but.put。六二。奥迪30万。
09:00
40万。解一个方法,Public。号号也根据参数吧。Return heart and bad。Friend。我们说叫。实力工厂方法。实力工厂方法。应该这样分是吧,实力工厂的方法。必先。需要。放剑。工厂本身再调用。工厂的。直立方法。哎。
10:01
返回。病的直立。好的。配一下。给一个病。ID。Plus这个时候的话呢,我们配的是。Car。Factory。是什么呀?配置。工厂的治理。下边。通过实例。工厂方法来被指。Ad,阿兔。
11:04
用class了吧,用配好了,这个是factory b哪个呀。Factor。Factory method。Car同样需要存参。Y,我们这个,我们搞一个福特。不来。价。阿。找一个瞧瞧。看到了吧,哦。怎么也是奥迪呀?Car two。哦。Go。
12:00
福特没问题,这样的话呢,我们这个配置好了,再看配置文件,这就是我们所谓的叫实例工程方法,那跟这个相对应的。C过来,CTRLV。这个叫。指向。实力工厂方法。实力工程方法的。是吧,这个的话呢,就像他这个是一样的,这个是一样的。以上就是我们说的使用工厂方法来配置B的两种方式。静态工厂方法和实例工厂方法。
我来说两句