提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
大概内容:本文我会为大家介绍如何理解IoC和Di,已经为什么Spring会被叫作包含众多工具方法的IoC容器…
一、理解IoC
1.什么是IoC
我们要理解IoC,首先要明确,什么是IoC?
IoC-------Inversion of Control,翻译过来即为"控制反转",又可以叫做控制权反转.
知道了什么是控制权反转,我们还不着急去理解它,更重要的是,你要先明确一个点,
IoC是一个思想!
IoC是一个思想!
IoC是一个思想!
2.概念理解控制权反转
明确了这一点之后,我们才能真正开始去理解IoC.
首先,控制权反转,
何为控制权?
顾名思义,控制权,
在现实生活中,就是由你来掌控管理的,比如你的手机,你的电脑.
在计算机中,控制权即对对象,又或者文件资源的控制管理.
何为反转?
也不难理解,你可以看成控制权转移,即本来控制权由A来决定,现在转移给B.
如果只是这么说一下,我相信大家肯定是还不难理解什么是控制权反转,更不能理解为什么需要控制权反转,所以接下来我会举个理解帮助大家进一步的去理解控制权反转.
3.举例理解控制权反转
首先我们创建一个Phone类(手机),依赖于MotherBoard类(主板),而主板类又依赖于Chip类(芯片)
(1)传统的方法
手机类
package mobile_phone;
public class Phone {
private MotherBoard motherBoard;
public Phone(int size){
motherBoard=new MotherBoard(size);
}
public void init(){
System.out.println("Phone is OK");
motherBoard.init();
}
public static void main(String[] args) {
Phone phone=new Phone(15);
phone.init();
}