java/Spring/IOC 痛定思痛。 2022-08-06 04:25 72阅读 0赞 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> 接口注入 组件需要依赖特定接口的实现,其中的加载接口实现和接口实现的具体对象都是由容器来完成。这样,接口必须依赖容器,这样的组件具有侵入性,降低了重用性。
还没有评论,来说两句吧...