spring-第一篇之spring核心机制依赖注入(DI)/控制翻转(IoC)

1、spring的核心机制:依赖注入(DI)/控制翻转(IoC)

     什么是依赖:A对象需要调用B对象,所以A依赖于B。

     什么是注入:A对象注入一个属性B对象。

     什么是依赖注入(DI):A对象依赖于B对象,spring容器负责将B对象添加到A对象中,即将A对象的依赖对象B添加到A对象中。

     什么是控制翻转(IoC):A对象依赖于B对象,它将通过new B对象的方式主动获取得B对象实例;但spring则将B对象直接送到A面前供其使用,A被动接受B对象。

     依赖注入(DI)与控制翻转(IoC)的关系:只是从不同的角度描述A对象需要B对象的两种表达方式,它们的语义意思是完全一样的。

     依赖注入的方式:

        1》设值注入:IoC容器使用成员变量的setter方法来注入被依赖的对象。默认会启动目标bean无参构造器。

             property属性标签:如果传入的参数是基本类型及其包装类、String等类型,则使用value属性字段指定传入参数;如果是容器中其他bean作为传入参数,则使用ref属性指定传入参数。

             创建目标bean过程:容器先创建目标bean,然后调用成员变量的setter方法完成依赖注入。

        2》构造注入:IoC容器使用带参构造器来注入被依赖的对象。

             每个<constructor-arg .../>子元素代表一个构造器参数,<bean .../>元素包含N个<constructor-arg .../>子元素,就会驱动spring调用带N个参数的构造器来创建对象。可以为<constructor-arg .../>子元素指定index属性,表示该参数代表构造器第几个参数,index=0表示构造器的第一个参数。可以为<constructor-arg .../>子元素指定type属性,表示该参数的参数类型。

             创建目标bean过程:目标bean创建完成的时候,被依赖对象已经被创建,即已经完成依赖关系的注入。

猜你喜欢

转载自www.cnblogs.com/ZeroMZ/p/11335423.html