Spring学习——框架介绍

一、Spring介绍

1.Spring是一个开源框架,该框架的结构是分层架构,这是Spring框架的主要优势。

2.Spring是以IoC、AOP为主要思想,在Spring框架中,通过配置创建类对象,由Spring在运行阶段实例化、组装对象

IoC:Inversion of Control控制反转或反向控制

AOP:Aspect Oriented Programming面向切面编程,其思想是在执行某些代码前执行另外的代码,使程序更灵活,扩展性更好,可以随时地添加、删除某些功能

3.Spring框架是“一站式”框架,即Spring在JavaEE的三层架构中,每一层都采用不同地解决技术

JavaEE的三层架构:表现层(Web层),业务逻辑层(Service层),数据访问层(DAO层)

二、Spring生态

图来自Spring官网

三、Spring框架模块

图来自Spring官网


四、Spring核心思想

1.一些基本概念

IoC:Inversion of Control控制反转或反向控制,是框架的共有特性,控制权从应用程序转移到框架

IoC容器:实现了IoC思路的容器

DI:Dependency Injection依赖注入,用一个单独的对象(装配器)来配置对象之间的依赖关系

2.IoC容器特点

(1)不需要主动new对象:只需要描述对象如何创建,IoC容器将会自动创建对象

(2)不需要主动装配对象之间的依赖关系:只需要描述需要的服务(组件),IoC容器将自动将他们关联在一起

(3)主动变被动:也称为好莱坞法则

(4)迪米特法则:也称最少知识法则,每个对象之间了解的越少越好,即两个对象之间的关联越少越好

(5)IoC容器是一种减少类与类之间依赖的设计原则

3.IoC容器的理解

(1)控制

IoC容器的控制是指IoC容器控制应用程序所需要的资源(对象、文件...),而之所以要控制是为了要实现解耦组件之间的关系,即上面所说的迪米特法则,为了让组件之间尽量独立,互不影响

(2)反转

之前的程序都是应用程序来控制,而现在是IoC容器来控制,这样,控制权从之前的应用程序变为了IoC容器,因此称为反转

4.DI的理解

DI:Dependency Injection依赖注入,用一个单独的对象(装配器)来配置对象之间的依赖关系

(1)依赖

应用程序依赖于IoC容器装配类之间的关系

(2)注入

IoC容器注入应用程序需要的资源(类之间的关系)

5.DI的优点

(1)只需要观察依赖注入的机制,就可以掌握整个依赖

(2)组件之间的依赖关系由容器在运行期决定

(3)依赖注入的目标是为了提升组件重用的概率