Spring架构简析

Spring框架总体架构图

在这里插入图片描述

由此可以看出Spring的核心组件为Bean、Context和Core,它们是Spring架构的基础,AOP、Web、Transaction是建立在这基础之上的

  1. Spring设计核心理念

    • Spring实际上是面向Bean的编程,因此Bean才是Spring中的主角,真正的核心。

    • Bean在Spring中的作用就像Object对OOP的意义一样,没有对象的概念就没有面向对象编程,Spring中没有Bean也就没有Spring存在的意义

    • Spring流行起来的原因是因为Spring解决了一个非常关键的问题,Spring可以通过配置文件的方式将对象之间的依赖关系进行管理,也就是DI(依赖注入机制),而这个注入关系在IOC容器中进行管理,因此IOC容器中就是被Bean包裹的对象,Spring正是通过把对象包装中Bean中从而来达到对这些对象的管理以及一些额外操作的目的

    • Spring的设计策略和Java类似,当然Java本身的设计要比Spring复杂太多,但都是构建一个数据结构,然后根据这个数据结构设计它的生存环境,并让它在这个环境中按一定的规律不停的运动,在它们的不停运动中设计一系列与环境或者其他个体完成信息交换。想想其他框架应该都是类似的设计理念。

  2. 核心组件如何协同工作

    • 把Spring比作一个舞台剧的话,Bean就是其中的演员,Context是舞台背景,Core是演出的道具。当然有最基本的条件还不能使这场演出脱颖而出,还要他表演的节目足够的精彩,这些节目就是 Spring 能提供的特色功能了
    • 我们知道Bean包装的是Object,而Object必然有数据,如何给这些数据提供生存环境就是Context要解决的问题,对Context来说,他要发现每个Bean之间的关系,为他们建立这种关系并且维护好这种关系,所以Context是Bean关系的集合,这个关系集合又叫IOC容器,一旦建立其这个IOC容器后,Spring就可以工作了。
    • Core组件有什么用处呢?Core其实就是发现、建立和维护Bean之间的关系所需要的一些列的工具

https://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/index.html

猜你喜欢

转载自blog.csdn.net/qq_39530375/article/details/84527248