Spring.NET(三)——创建对象

    上一篇博客中总结了怎样读取对象,这篇博客总结一下怎样创建对象。

    在Spring.net容器中创建对象,可以根据在配置文件或者xml文件中定义的type属性去定义相应类型,这种方式是通过构造器创建对象;另外容器也可以调用工厂方法创建对象,这时type属性中就应该写明工厂创建对象的方法。


    总结一下创建对象的方式:1.构造器创建对象。2.工厂创建对象。

1.构造器创建对象。

    使用构造器创建对象时,并不要求必须是某种特定的类型,也不需要了解它的实现方式,只要指明类型即可。

<object id="StudentInfo" type="CreateObjects.StudentInfo, CreateObjects" />


2.工厂创建对象。


静态工厂

    在使用静态工厂创建对象时,将对象定义的的type属性设为包含静态工厂,并且要设置factory-method的属性来指定静态工厂的方法。

<object id="staticObjectsFactory" type="CreateObjects.StaticObjectsFactory, CreateObjects" factory-method="CreateInstance"/>


实例工厂

    通过实例工厂方法创建对象,对象定义就不能包含type属性,而要用factory-object属性引用工厂方法所在的对象;注意,该属性值必须是包含工厂方法的对象的名称,且该对象必须定义在当前容器或父容器中。工厂方法的方法名则通过factory-method属性指定。

 <!--实例工厂-->
<object id="instanceObjectsFactory" type="CreateObjects.InstanceObjectsFactory, CreateObjects" /><!--工厂-->
 <object id="instanceStudentInfo" factory-method="CreateInstance" factory-object="instanceObjectsFactory" /> <!--创建的对象-->

注意:type属性的格式:类型的全名,然后是一个逗号,最后是类型所在的程序集名称。


总结:

    两种创建对象方式,构造器创建简单直接,不需要了解它的实现方式;而工厂创建我更认为是构造器创建对象的一种拓展,只不过创建的工厂对象,让工厂进一步去创建我们需要的东西。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值