<Java EE 进阶> 1.Spring核心思想

目录

1.Spring是什么?

(1) 什么是IoC?

2.为什么要有Spring?

(1)传统程序开发缺陷

(2)如何解决传统开发缺陷----控制翻反转式程序开发

3.深刻理解Spring是一个IoC容器

4.DI 概念说明


1.Spring是什么?

用一句话概括Spring: Spring是包含了众多工具方法的 IoC 容器.

(1) 什么是IoC?

IoC 即 Inversion of Control 意思是控制反转.所谓控制反转就是控制和反转类的生命周期.

2.为什么要有Spring?

为了将程序解耦合,即降低程序之间的相关性,使代码更加便于维护,更方便.

(1)传统程序开发缺陷

当我们要创建一个汽车类
Car(汽车)→Framework(车身)→Bottom(底盘)→Tire(轮胎)    →即 依赖
说明当我们创建一个Car类时,一定需要类内创建一个Framework类.
                  创建一个Framework类时,一定需要类内创建一个Bottom类
                  创建一个Bottom类时,一定需要类内创建一个Tire

    但是,当需求越来越多样时,Tire的构造方法需要传参数,此时创建Tire的Bottom类就需要参数..
以此类推创建Car Framework类就需要参数,这样的代码耦合性太高,牵一发而动全身,不利于代码维护.

(2)如何解决传统开发缺陷----控制翻反转式程序开发

把创建子类的方式,改为注入传递的方式

同样的创建一个汽车类

Tire → Bottom → Framework → Car   →即作为参数注入传递

想要创建一个Car类,就需要Framework类作为参数传递

Framework的创建又需要Bottom类作为参数传递

Bottom的创建又需要Tire类作为参数传递

此时我们如果想要修改Tire类 只需要改Tire 因为别的类只是被注入不关心这个类是什么样子的

我们发现创建类的顺序与传统相反,这就是控制反转

这样就达到了解耦合

3.深刻理解Spring是一个IoC容器

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

学Spring最核心的功能,就是学如何将对象存入到Spring中,再从Spring中获取对象的过程.

4.DI 概念说明

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

你可能感兴趣的:(Java,EE,进阶,spring,java-ee,java)