java/Spring/IOC

来源:互联网 发布:京东me软件 编辑:程序博客网 时间:2024/06/05 04:33

IOC,inverse of Control,控制反转。意思是程序中的之间的关系,不用代码控制,而完全是由容器来控制。在运行阶段,容器会根据配置信息直接把他们的关系注入到组件中。同样,这也是依赖注入的含义。依赖注入和控制反转其实是一个概念。只不过强调的不同而已,依赖注入强调关系的注入是由容器在运行时完成,而控制反转强调关系是由容器控制。其实本质是一样的。

1.在程序中不用实例化具体类,直接由容器中的beanFactory直接创建,隐藏了创建了细节。

2.程序中也不用关心具体类之间的依赖关系,而由容器来进行负责,在运行的时候,容器会把属性值及依赖关系注入具体类的javabean中。


依赖注入

 spring中的依赖注入DI(dependence injection)共有三种方式:第一种是接口注入()第二种是get/set注入(赋值注入),第三种是构造器注入(构造函数)。

赋值注入

 <property name="xx"  value="xxx"/>(值)

<property name="xx"  ref ="xxx"/>  (类)


构造器注入

<constructor-arg index="0">
         <value>xxx</value>
</constructor-arg>

构造器中一个参数,则索引值是从0开始,若是有多个,依次递增。

若构造器中的是一个类,则使用bean标签

   <constructor-arg index="0">

    <bean class="xxx">

  </constructor-arg>


接口注入

组件需要依赖特定接口的实现,其中的加载接口实现和接口实现的具体对象都是由容器来完成。这样,接口必须依赖容器,这样的组件具有侵入性,降低了重用性。


0 0
原创粉丝点击