目录
一、什么是控制反转(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)
依赖注入(DI)
依赖:A对象和B对象的关系
注入:是一种手段,通过这种手段,可以A对象和B对象产生关系
依赖注入常见的两种实现方式
第一种:set注入(执行set方法给属性赋值)
第二种:构造方法注入(执行构造方法给属性赋值)