什么是Spring??
Spring是Java企业级应用开源开发框架,Spring主要是用来开发Java应用的,但是有些扩展是用来开发J2EE平台的Web应用的,Spring框架目标就是简化Java企业级应用开发;
Core Container核心容器
core container 是Spring框架的核心;
IoC控制反转
控制反转:Spring通过控制反转实现了松散耦合,就是对象们给出它们的依赖,而不像之前创建或者查找依赖的对象们;
理解一下呢??
我们来举例说明一下哈
齿轮组中齿轮之间的啮合关系,与软件系统中对象之间的耦合关系非常相似。
对象之间的耦合关系是无法避免的,也是必要的!!
随着工业级应用的规模越来越庞大,对象之间的依赖关系也越来越复杂,经常会出现对象之间的多重依赖性关系;容易牵一发而动全身!!!
为了解决对象之间耦合度较高的问题,解耦问题就被推到台前!!
控制反转(IoC):是面向对象编程(OOP)的一种设计原则,用来降低计算机代码之间的耦合度;
基本的中心思想:借助第三方实现具有依赖关系的对象之间的解耦!!
这个第三方就是IOC容器!!!
使得ABCD四个对象之家女没有了直接的耦合关系了,IOC容器成了关键的核心!!
起到了一个粘合剂的作用!!
DI依赖注入
依赖注入(DI)
当某个Java实例需要另一个Java实例的时候,创建被调用者的工作不是由调用者实现,而是由Spring容器去完成,然后注入调用者,所以称为依赖注入
想一下哈 有啥区别呢?
其实二者是相同的概念但是角度不同而已,是对同一个事件的不同描述;
DI是从应用程序的角度描述,应用程序依赖着容器创建并注入他所需要的外部资源;
IoC是容器的角度描述,容器控制着应用程序,由容器反向的向程序注入应用程序需要的外部资源;