20200909--spring基础-IOC

一、IOC思想:

之前,程序是主动创建对象,控制权掌握在程序猿手中

使用set注入后,程序不再具有主动性,而是被动得接收对象

从本质上解决了问题,程序猿不用再去管理对象得创建了,系统得耦合性降低,可以专注在业务实现上,这就是IOC得原型

IOC是一种设计思想,DI是它的一种实现方式

所谓控制反转,就是获取依赖对象的方式反转了

 采用xml方式配置bean的时候,bean的定义信息和实现是分离的

采用注解的方式,可以把两者合为一体,bean的定义信息直接以注解的形式定义在实现类中,从而达到了零配置的目的

控制反转,是通过描述(XML或注解)并通过第三方去生产或获取特定对象的方式

在spring中,实现控制反转的是IOC容器,其实现方法是依赖注入

Hello对象是由谁创建的?Spring

Hello对象的属性是由谁创建的?Spring

 控制:谁来控制对象的创建,传统应用程序的对象是由程序本身控制创建的,使用spring后,对象是由spring来创建的

反转:程序本身不创建对象,而是被动接受对象

这个过程就是控制反转

依赖注入:利用set方法来进行注入的

IOC:对象由spring来创建,管理,装配

二、IOC创建对象的方式

1. 使用无参构造函数创建对象,默认实现

2. 使用有参构造函数创建对象

2.1 使用下标的方式

2.2 使用类型的方式--不建议使用,类型容易写错,且多个string类型不适用

 2.3 直接通过参数名---重点掌握,这个就够了

备注:所有的bean在注册的时候,就已经被容器实例化了,不管你是否引用它

总结:

1. 配置文件加载的时候,容器中管理的对象就已经初始化了

原文地址:https://www.cnblogs.com/vivian-xiaoyun/p/13646120.html