Spring框架及核心思想(IoC与DI)

在这里插入图片描述

一、Spring是什么?

我们通常所说的 Spring 指的是 Spring Framework(Spring 框架)

它是⼀个开源框架,有着活跃⽽
庞⼤的社区,这就是它之所以能⻓久不衰的原因。Spring ⽀持⼴泛的应⽤场景,它可以让 Java 企业级
的应⽤程序开发起来更简单。

⽤⼀句话概括 Spring:Spring 是包含了众多⼯具⽅法的 IoC 容器

二、核心思想

1.什么是IoC

IoC = Inversion of Control 翻译成中⽂是“控制反转”的意思

也就是说 Spring 是⼀个“控制反转”的容
器,怎么理解这句话呢,我们先从以下示例开始。

假如,我们现在构建⼀辆“⻋”的程序,我们的实现思路是这样的:

车(car)->车身(framewo)->轮胎(tire)

public class Car {
    private FrameWork frameWork;
    private Tire tire;
    //造车身
    FrameWork frameWork = new FrameWork();
    //造轮子
    Tire tire = new Tire();
    //组装过程
    public void  init(){
        System.out.printf("do car");
    }
}

接下来如果我们的需求是要能造出各种尺寸的轮子
那么就得更改Tire类的构造方法,而这会导致FrameWork也跟着改变,耦合度太高,所以我们将FrameWork和Tire的控制权交出去,像这样

public class Car {
    private FrameWork frameWork;
    public Car(FrameWork frameWork){
        this.frameWork = frameWork;
    }
    public void init(){
        System.out.printf("do car");
    }
}

只将framework拿来用,而不是自己造,将控制权转移给存有framework的事物。

2.DI

说到 IoC 不得不提的⼀个词就是“DI”,DI 是 Dependency Injection 的缩写,翻译成中⽂是“依赖注入”的意思。

所谓依赖注⼊,就是由 IoC 容器在运⾏期间,动态地将某种依赖关系注⼊到对象之中。所以,依赖注⼊(DI)和控制反转(IoC)是从不同的⻆度的描述的同⼀件事情,就是指通过引⼊ IoC 容器,利⽤依赖关系注⼊的⽅式,实现对象之间的解耦。

IoC 是“⽬标”也是⼀种思想,⽽⽬标和思想只是⼀种指导原则,最终还是要有可⾏的落地⽅案,⽽ DI就属于具体的实现。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值