目录
2、第二个模块:AOP与Aspects(这是 Spring 技术的第二个核心的大块)
3、第三个模块:Data Access(数据访问)和 Data lntegration (数据集成)
(1)基本介绍
- Spring Framework 是 Spring 生态圈中最基础的项目。其它所有的项目的都是在它的基础上运行使用。
(也是 Spring 的 " 全家桶 " 最顶级的项目)
(2)基本发展历史
它的系统架构也经过了若干个版本的迭代,由一系列的架构图逐步发展出来。我们学习的 Spring 5.x 的系列官方并没有详细的架构图,说明在 Spring 4.x 系列的版本已经逐渐趋于稳定。
(可以看到每个版本都会有一些模块关系的调整,加入了一些新的东西或者去掉小的功能)
(3)了解和学习 Spring 4.x 系列的系统架构
1、第一个模块:做核心容器(Core Container)
这个模块是 Spring 框架中的最核心的部分,其它所有的模块都是依赖它运行的。看到这个是容器,它就是用来装东西的。对于 Java 程序 来说,只有一种东西可以装:" 对象 "。
对于这样一个结构设计来说,它是 Spring 一个用来管对象的技术。
(这是 Sping 系统架构的第一块)
2、第二个模块:AOP与Aspects(这是 Spring 技术的第二个核心的大块)
(首先要了解一下:系统架构图讲究上层依赖于下层)
AOP 的位置放在这里,是要依赖于核心容器的执行。AOP:面向切面编程。与我们学的面向对象编程差不多,也是一种编程思想。它教程序该怎么做,是一种设计型的概念。
而我们的 Spring 对这种设计型的概念进行了落地,它可以在不惊动原始程序的基础上,去增强功能。
Aspects:是一个思想,Spring 技术对它做出了实现,而 Aspects 对 AOP 思想做出了实现。
(后面我们学习 Spring 的 AOP 开发时,除了要倒 Spring AOP 的坐标,还要导 Aspects 的坐标)
3、第三个模块:Data Access(数据访问)和 Data lntegration (数据集成)
(有一个 Data Access Object :数据访问对象)
看到这个这一模块就是与数据层面相关的技术。
Data lntegration (数据集成):Spring 内部不仅提供了自主的访问数据层的技术,同时还支持用 Spring 技术与其它的技术整合使用。而这个集成就是它包容其它的技术,就比如:Mybatis。可以和 Spring 整合一起使用。
还有一个需要单独介绍的:Transactions (事务/业务)。Spring 在事务方面做了很大的突破,提供了一种开发起来效率非常高的事务控制方案。(重点学习)
4、第四个模块:Web相关的东西
Spring 也可以进行 Web 开发,这一部分内容在后面的 Spring MVC 去学习。
5、最后一个模块:Test
最后一个模块不是在上面,而是在最下面。看到 Test ,我们就知道这是做测试的。
Spring 在单元测试和集成测试也提供了一些帮助性的操作。
以上就是整个 Spring 系统架构图的包含内容。
(4)小结
1、看完之后,第一个要学习的肯定是 Core Container(管对象的),所有的一切都是基于对象。
2、第二个就学习 Spring 与 Mybatis 的整合,学 Data Access、Data lntegration(数据访问与集成)。接下来学第二个核心:AOP技术,然后学习 Spring 中的事务。至于测试比较简单。