JavaEE高阶---Spring核心与设计思想

一 : 什么是Spring?

Spring是一个包含了众多工具方法的IoC容器.

我们通常所说的 Spring 指的是 Spring Framework(Spring 框架),它是一个开源框架,有着活跃庞大的社区,这就是它之所以能经久不衰的原因 . Spring 适用于广泛的应用场景,它可以让 Java 企业级的应用程序开发起来更简单 .

什么是容器 ?

在这里插入图片描述

同理 , Spring也是一个容器 . 什么容器呢 ? 一个IoC容器 .

Spring中最核心的一个关键词 : IoC(控制反转) IoC = Inversion of Control .

二 : IoC(控制反转)

从一个实例来理解什么是控制反转 :

假如,我们现在构建"一辆车"的程序,我们的实现思路是这样的:

在这里插入图片描述

在这里插入图片描述
构建一辆车 , 车需要依赖车身 , 车身需要依赖底盘 , 底盘需要依赖轮胎 , 最终构建的程序是这样的 :

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这种传统写法下 , 一旦底层类发生变化 , 整个调用链上的代码都要作出相应修改 , 非常麻烦 !

使用IoC :

此时,我们只需要将原来由自己创建的下级类,改为传递的方式(也就是注入的方式),因为我们不需要在当前类中创建下级类了,所以下级类即使发生变化(创建或减少参数),当前类本身也无需修改任何代码,这样就完成了程序的解耦 .

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Spring 是一个 IoC(控制反转)容器,重点还在“容器”二字上,那么它就具备两个最基础的功能:

  • 将对象存入到容器;
  • 从容器中取出对象 .

在这里插入图片描述

将对象存放到容器中的好处:将对象存储在 IoC 容器相当于将以后可能用的所有工具制作好都放到仓库中,需要的时候直接取就行了,用完再把它放回到仓库 . 而 new 对象的方式相当于,每次需要工具了,才现做,用完就扔掉了也不会保存,下次再用的时候还得重新做,这就是 使用IoC 容器和普通程序开发的区别 .

在这里插入图片描述

这就好像食堂卖煎饼果子 , 如果每次需要的时候才现做 , 那排队等待的时间就很长 ; 如果提前做好 , 放在框里 , 有同学来买就可以直接从框里拿出来卖 , 效率大大提高 .

Spring 是一个 IoC 容器,说的是对象的创建和销毁的权利都交给 Spring 来管理了,它本身又具备了存储对象和获取对象的能力.

三 : DI

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

所谓依赖注入,就是由 IoC 容器在运行期间,动态地将某种依赖关系注入到对象之中 .

在这里插入图片描述
所谓依赖注入,就是由 IoC 容器在运行期间,动态地将某种依赖关系注入到对象之中 . 所以,依赖注入(DI)和控制反转(IoC)是从不同的角度描述同一件事情,就是指通过引入 IoC 容器,利用依赖关系注入的方式,实现对象之间的解耦 .

四 : 总结

Spring 是什么?如何理解 Spring?

Spring 是一个 IoC 容器,说的是对象的创建和销毁的权利都交给 Spring 来管理了 , 它本身又具备了存储对象和获取对象的能力 .

IoC 和 DI 是啥?有什么区别?

IoC是"控制反转" , 就是将某种依赖关系注入到"对象"之中 , 使得控制权发生转变 . DI是" Dependency Injection " , 即"依赖注入" , 是实现IoC的具体方式 .

Spring 最核心的功能是啥?

Spring是一个包含了众多工具方法的IoC容器 , 其核心功能是将对象存储在容器中 , 从容器中取出对象 , 即"存"和"取"两个动作 !

本节内容到此结束 !!!

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值