一、什么是控制反转(IOC)?

控制反转(Inversion of Control)是一种编程思想,也叫做一种新型的设计模式,由于出现的比较新,没有进入23种设计思想里面

二、为什么要用到控制反转(IOC)?

当前程序的设计违背了OCP和DIP的设计原则的时候,就要用到控制反转去解决这个问题

三、控制反转(IOC)主要做的事情?

1.不用自己new对象了(把new对象的事情交出去)

2.对象之间的关系也不管了

那么谁来管呢?那就是spring框架来实现这个事情

四、spring框架

1.spring实现控制反转

用spring框架来实现控制反转IOC这种思想。spring是一个实现IOC思想的容器

spring框架可以帮你new对象。

spring框架可以帮你维护对象和对象之间的关系。

通俗解释就是:new对象这些,对象关系这些都不用你管了。怎么来的也不用管,知道怎么用就好了

2.spring怎么具体实现控制反转?

实现底层原理为:XML解析+工厂模式+反射机制

控制反转的实现方式有多种,其中比较重要的是:依赖注入(Dependency Injection,简称为DI)

依赖:A对象和B对象的关系

注入:是一种手段,通过这种手段,可以A对象和B对象产生关系

依赖注入常见的两种实现方式

第一种:set注入(执行set方法给属性赋值)

第二种:构造方法注入(执行构造方法给属性赋值)