spring IoC学习 ------IoC基本概念

spring  Ioc的注入方法:


      1)构造方法注入:在被注入对象可以通过在其构造方法中声明依赖对象的参数列表,让外部IoC容器知道它需要依赖哪些对象。


      2) setter 方法注入: 当前对象只要为其依赖对象所对应的属性添加setter方法,就可以通过setter方法将相应的依赖对象设置到被注入对象中。


      3)接口注入:被注入对象如果想要IoC为其注入对象,就必须实现某个接口,这个接口提供一个方法,用来为其注入依赖对象。


  三种注入方法的比较:


      1)接口注入:不提倡,因为它强制被注入的对象实现不必要的接口,导游侵入性。


       2)构造方法注入:优点:对象构造完成之后,即进入就绪状态,可以马上使用。


               缺点:当依赖对象比较多的时候,构造方法的参数列表会比较长,通过反射构造对象时,对相同类型的参数的处理比较困难,维护和使用也比较麻烦。


         3)setter方法注入:由于方法可以命名,所以setter方法注入在描述性上要比构造方法注入好一些。


        综上所述构造方法注入和setter方法注入因为其侵入性较弱,且易于理解和使用,所以是现在使用最多的注入方式,而接口注入因为侵入性较强,不提倡使用。


  IoC优点: 


      不会对业务对象构成很强的侵入性,使用IoC之后,对象具有更好的客车实行,可重用性和可扩展性。


  IoC Service Provider 对象管理:


      需要解决的问题:知道自己说管理和掌握的被注入对象和依赖对象之间的对应关系。


       IoC产品使用注册对象管理信息的方法如下:


      1)直接编码方式:spring,PicoContainer,Aralon都支持这种方式,在容器启动之前,我们就可以通过程序编码将被注入对象注册到容器中,并明确它们相互之间的依赖关系。


       2)配置文件方式:最为常见的是以xml文件来管理对象注册和对象间依赖关系,Spring IoC容器和PicoContainer都是采用这种方式。


       3)元数据方式:使用java5和Guice框架实现的,直接在类中使用元数据信息来标注各个对象之间的依赖关系,然后由Guice框架根据这些注解所提供信息将这些对象组装后,交给客户端对象使用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值